KVO のセットアップに数時間苦労しましたが、なんとか機能させることができました。
これは機能します:
[self addObserver:self forKeyPath:@"session.loginState" options:0 context:nil];
これはしません:
[self addObserver:self.session forKeyPath:@"loginState" options:0 context:nil];
self.session
空のSession
オブジェクトを遅延して作成するため、 self.session は never であることに注意してくださいnil
。ただし、次のようです。
- のキーパス
session.loginState
はself
...と同じではありません - KVO の観点から
loginState
のキーパスself.session
これはなぜですか?