cocoa异步请求 and libxml2.dylib(12)
发布时间:2021-06-07
发布时间:2021-06-07
return [super automaticallyNotifiesObserversForKey:key]; }
然后,在需要改变_isFinished变量的地方,使用
[self setValue:[NSNumber numberWithBool:YES]
forKey:@"isFinished"];
方法,而不是仅仅使用简单赋值。
我们需要在3个地方改变isFinished值为YES, 请求结束时、连接出错误,线程被cancel。请在对应的方法代码中加入上面的语句。 最后,需要在观察者的代码中进行注册。打开ViewController中调用NSOperation子类的地方,加入:
//kvo注册
[operation addObserver:self forKeyPath:@"isFinished" options:(NSKeyValueObservingOptionNew |
NSKeyValueObservingOptionOld) context:operation];
并实现 observeValueForKeyPath 方法:
//接收变更通知
- (void)observeValueForKeyPath:(NSString *)keyPath
ofObject:(id)object
上一篇:春颂阅读及答案