首页 > 解决方案 > KVO 做这些完全一样的事情吗?

问题描述

这些做同样的事情,如果不是,究竟有什么区别?

[self addObserver:self forKeyPath:@"user.name" options:(NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld) context:SomeContext];

[self.user addObserver:self forKeyPath:@"name" options:(NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld) context:SomeContext];

标签: objective-ckey-value-observing

解决方案


他们做的事情略有不同。前者观察关键路径"user.name"self含义,即如果其中一个user或该用户的name更改将触发。后者观察到"name"self.user意思是它只会name在该用户发生变化时触发。


推荐阅读