Czy jest jakaś wada w szybkich do korzystania z domyślnej wartości nieruchomości zamiast ustawiania go w inicjalizatorze?Swift: Domyślny nieruchomość vs ustawiania w inicjalizatorze
np
class Foo: UIViewController {
let value = UIRefreshControl()
}
vs.
class Bar: UIViewController {
var value : UIRefreshControl!
// or using init()
override func viewDidLoad() {
self.value = UIRefreshControl()
}
}
Domyślne wartości nieruchomości wydają się bardziej zwięzły i elegancki, ale nie widzę ich stosować w przykładach kodu, w którym mogą one być stosowane.
Ach, ale w teorii, czy jest to stały z 'let' to nie byłoby problemem są prawidłowe? Choć oczywiście 'let' o wartości domyślnej uczyniłoby klasa mniej rozciągliwy ... –
Rzeczywiście można ponownie przypisać' let' deklarowane właściwości wewnątrz inicjatora. Dziwne ale prawdziwe! –
Ponadto, chcę dodać, że domyślne wartości właściwości są świetne i używam ich wszędzie tam, gdzie to możliwe. Odpowiedź jest jedyną wadą - istnieją pozytywne powody, które czynią je wartościowymi w prawie wszystkich przypadkach. –