18

UIViewのインスタンスを作成するViewControllerがあり、次にオブザーバーをインスタンスに登録します。

logoAnimation = [[MainLogoAnimation alloc] init];
[logoAnimation addObserver:self forKeyPath:@"patrocinioDidLoad" options:(NSKeyValueObservingOptionNew|NSKeyValueObservingOptionOld) context:nil];

次に、同じファイルに次のようになります。

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
 NSLog(@"%@ \n %@ \n %@ \n ",keyPath,object,change);
}

しかし、logoAnimation.patrocinioDidLoadが変更されたことを確認して再確認しましたが、observeValueForKeyPathが呼び出されることはありません...

私は何かが足りないのですか?

助けてくれてありがとう!

アントニオ

4

1 に答える 1

20

解決済み:標準のゲッターとセッターを使用せずに、logoAnimationでpatrocinioDidLoadを直接設定していました。logoAnimationでは、

patrocinioDidLoad = YES;

動作しませんでしたが、

self.patrocinioDidLoad = YES;

やりました!

于 2010-04-28T10:54:30.710 に答える