キー値監視を使用して、変更されているプロパティを監視し、計算されたプロパティを最新の状態に保つことができます。監視するプロパティにオブザーバーを追加できます。
KVOプログラミングガイド。
編集:ここを参照
これを正しく行うには、計算されたプロパティのプロパティゲッターをオーバーライドして、keyPathsFOrValuesAffecting<Key>
関数を作成する必要があります。
Appleの例はかなり良いです、それはプロパティがとfullName
から集められるべきである場合を与えます。firstName
lastName
したがって、この関数を使用してKVOを実装する必要があります。
+ (NSSet *)keyPathsForValuesAffectingFullName
{
return [NSSet setWithObjects:@"lastName", @"firstName", nil];
}
これにより、これらの値が変更されたときにアプリに通知を受け取ることができます。次に、この通知で呼び出されるゲッターをオーバーライドします
- (NSString *)fullName
{
return [NSString stringWithFormat:@"%@ %@",firstName, lastName];
}