タグ付けされた質問 「didset」

11
SwiftのwillSetとdidSetの目的は何ですか?
Swiftには、C#とよく似たプロパティ宣言構文があります。 var foo: Int { get { return getFoo() } set { setFoo(newValue) } } しかし、それはまた、持っているwillSetとdidSetアクション。これらは、セッターが呼び出される前と後にそれぞれ呼び出されます。セッター内に同じコードを含めることができると考えると、それらの目的は何ですか?

8
Swiftでの初期化中にdidSetを呼び出せるようにすることは可能ですか?
質問 Appleのドキュメントでは、次のように指定されています。 プロパティが最初に初期化されるときに、willSetおよびdidSetオブザーバーは呼び出されません。プロパティの値が初期化コンテキスト外で設定されている場合にのみ呼び出されます。 初期化中にこれらを強制的に呼び出すことは可能ですか? どうして? このクラスがあるとしましょう class SomeClass { var someProperty: AnyObject { didSet { doStuff() } } init(someProperty: AnyObject) { self.someProperty = someProperty doStuff() } func doStuff() { // do stuff now that someProperty is set } } doStuff処理の呼び出しをより簡潔にするためにメソッドを作成しましたが、didSet関数内でプロパティを処理するだけです。初期化中にこれを強制的に呼び出す方法はありますか? 更新 私のクラスの簡易初期化子を削除し、初期化後にプロパティを設定するように強制することにしました。これにより、didSet常に呼び出されることがわかります。これが全体的に良いかどうかはまだ決めていませんが、自分の状況によく合います。
217 ios  swift  didset 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.