( ReactiveCocoa
4 または多分 3 に適用)
私が見たほとんどの例とケースでは、またはReactiveCocoa
のようなオブジェクトは、ユーザー インターフェイスをデータに接続することに関与しており、コンストラクターで呼び出される何らかのメソッドまたは類似のメソッドで少なくともインスタンス化されています。MutableProperty<TVal, TErr>
SignalProducer<TVal, TErr>
setupBindings
オブジェクトの宣言をスコープから保存されたプロパティに、またはその逆に移動したときに、突然「機能した」コードが機能しないというケースをいくつか経験しました。たとえば、擬似コードでは次のようになります。
class Wtf {
// doesn't work
init() {
let prop = MutableProperty<Dah, Dah>()...
doSomethingWith(prop)
}
// also doesn't work
private let prop: MutableProperty<Dah, Dah> = MutableProperty<Dah, Dah>(Dah())
init() {
doSomethingWith(prop)
}
// works?
private let prop: MutableProperty<Dah, Dah>
init() {
prop = MutableProperty<Dah, Dah>(Dah())
doSomethingWith(prop)
}
}
そのため、いくつかの基本的な質問があるようです。
与えられたReactiveCocoa
オブジェクト...
- プロパティ (または) とローカル インスタンス変数として宣言する必要があるのはいつですか?
let
var
- プロパティとインスタンスのストアド、計算、またはその他のバリアントとしてインスタンス化する必要があるのはいつですか
- いつ関数にする必要があります
return
か?