利用 KVO,关注对象某属性的变化,当该属性变化时,处理该属性变化的观察者处理方法:
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSString *,id> *)change context:(void *)context
被调用。
需要注意的是该处理方法,被调用时所在的线程:
位于被观察的对象属性变化时的线程里。
比如,在线程3里改变了对象属性,那么,该处理方法就在线程3里被调用;
因此,若在该处理方法里有更新UI的操作时,需要在该方法里,切入主线程再操作;