Я хочу использовать Lazy для некоторых моих свойств в Swift. Мой текущий код выглядит следующим образом:
lazy var fontSize : CGFloat = {
if (someCase) {
return CGFloat(30)
} else {
return CGFloat(17)
}
}()
Дело в том, что после установки fontSize он НИКОГДА не изменится. Поэтому я хотел сделать что-то вроде этого:
lazy let fontSize : CGFloat = {
if (someCase) {
return CGFloat(30)
} else {
return CGFloat(17)
}
}()
Это невозможно.
Только это работает:
let fontSize : CGFloat = {
if (someCase) {
return CGFloat(30)
} else {
return CGFloat(17)
}
}()
Итак - я хочу свойство, которое будет лениво загружено, но никогда не изменится.
Каков правильный способ сделать это? используя let
и забыть о ленивом init? Или я должен использовать lazy var
и забыть о постоянном характере свойства?