Я написал служебный класс Swift, в котором я определяю несколько статических методов и частную статическую константу. Однако я хочу, чтобы эта константа загружалась немедленно после первой ссылки на класс, а не лениво. Единственное, что я могу придумать, это ссылаться на статическую константу в каждой отдельной статической функции следующим образом:
private static let myObserver: Observer = {
let observer = Observer(actionToPerform: foo1)
SomeOtherClass.register(observer)
return observer
}()
static func foo1() {
_ = myObserver
...
}
static func foo2() {
_ = myObserver
...
}
static func foo3() {
_ = myObserver
...
}
//even more of a hassle:
static let myIntConstant: Int = {
_ = myObserver
return 5
} ()
.
.
.
Однако такое решение выглядит довольно некрасиво. Есть ли более чистый способ? Какой-то обратный вызов инициализации class, который я могу использовать?