Playerインスタンスがあり、iOSアプリケーションのスコア表示を更新できるように、オブザーバーをスコアに追加したいとします。しかし、NSObjectオブザーバをどのようにデバッグできますか?
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
:私は、このメッセージを受け取るべき定義されたメソッドを持って、同じクラスで
[[self.game player] addObserver:self
forKeyPath:@"score"
options:NSKeyValueObservingOptionNew
context:nil];
:私はオブザーバーを追加するには、このように見えるメソッドを呼び出すべきであると考えています私がこのメソッドに置いたブレークポイントは決して打撃を受けません。
この問題を診断する方法を知りたいと思います。私は、プレーヤーインスタンスが満たされていることを確認しました。スコアが更新されると、同じインスタンスが更新されます。
私のプロジェクトをARCに変換したばかりですが、上記のコードは新しく、一度も働いたことがありません。
私は[[self.game player] valueForKey:@ "score"]と呼んでいたので、結果的にnilが返されたので、私のアプリケーションに何か間違っていると推測しています。私はちょうど無駄だと思うあなたの時間をありがとう。 –
OK、didFinishLaunchingWithOptionsの前にviewDidLoadが実行されることが分かりました。その時点では利用できなかったものに頼っていました。とにかく、いくつかの評判があります。 –