Gibt es einen Nachteil in der Verwendung eines Standardeigenschaftswerts, anstatt es im Initialisierer zu setzen?Swift: Standardeigenschaft vs Einstellung im Initialisierer
z.B.
class Foo: UIViewController {
let value = UIRefreshControl()
}
gegen
class Bar: UIViewController {
var value : UIRefreshControl!
// or using init()
override func viewDidLoad() {
self.value = UIRefreshControl()
}
}
Standardeigenschaftswerte scheinen terse und elegant, aber ich sehe sie verwendet werden, in Codebeispielen, wo sie konnten nicht verwendet.
Ah, aber in der Theorie, wenn es eine Konstante mit "Let" ist, dann wäre dies keine Sorge richtig? Natürlich würde "Let" mit einem Standardwert die Klasse weniger erweiterbar machen ... –
Sie können tatsächlich 'let'-deklarierte Eigenschaften innerhalb eines Initialisierers neu zuweisen. Komisch aber wahr! –
Außerdem möchte ich nur hinzufügen, dass ich denke, Standard-Eigenschaftenwerte sind groß und ich verwende sie wo immer möglich. Die Antwort ist der einzige Nachteil - es gibt positive Gründe, die sie in fast allen Fällen lohnend machen. –