私はおそらくちょっとここで怠け者ですが、私に同行してください。ここに私の状況です。私は2つの非原子的な、保持されたプロパティを持つクラスを持っています。例:@synthesizedプロパティをカスタマイズすることは可能ですか?
@property (nonatomic, retain) UITextField *dateField;
@property (nonatomic, retain) NSDate *date;
私は実装で期待通りにそれらを合成します。私がしたいことは、dateのsetterが呼び出されるたびにdateFieldに何かをすることです(つまり、dateFieldのtextプロパティを日付のきれいにフォーマットされたバージョンに設定します)。
私はちょうど手動で次の手順を実行して、私の実装では日付のセッターをオーバーライドすることができます実現:まだ私はObjective Cのは、保持/リリースサイクルを処理させることができれば
- (void) setDate:(NSDate *)newDate {
if (date != newDate) {
[date release];
date = [newDate retain];
// my code to touch the dateField goes here
}
}
素晴らしいだろうどのようなことですが、 retain/release/setが発生した後に呼び出されるカスタムハンドラを「登録」できます(より良い用語がないため)。私の推測は不可能です。私のgoogle-fuはこれに答えを出さなかったので、私は頼むと思った。
右ので、関連する質問は、(保持どこ1は@synthesizeは、様々な状況で何のためのサンプルコードを見つけることができるです、割り当て、原子など) –
クール、答えに感謝します。私は理論的にはKVOについて知っていますが、その例を得ることは素晴らしいことです。 setterコードのバグを指摘してくれてありがとう。私は実際にそれを使用せずに(明らかに)書きました。私は質問を編集して、他の人に誤解を与えないようにします。 –
私は盲目でなければなりません...コードで何を修正しましたか?ああ..質問は編集されている必要があります。 – Schultz9999