cocoa异步请求 and libxml2.dylib(10)

发布时间:2021-06-07

我们的NSOperation完成了向服务器的请求并将服务器数据下载到成员变量_data中了。现在的问题是,由于这一切是通过异步操作进行的,我们无法取得_data中的数据,因为我们不知道什么时候异步操作完成,以便去访问_data属性(假设我们将_data定义为属性了),取得服务器数据。

我们需要一种机制,当NSOperation完成所有工作之后,通知调用线程。

这里我们想到了KVO编程模型(键-值观察模型)。这是cocoa绑定技术中使用的一种设计模式,它可以使一个对象在属性值发生变化时主动通知另一个对象并触发相应的方法。具体请参考cocoa参考库: /developer/mac/library/documentation/Cocoa/Conceptual/CocoaBindings/index.html,以及

/developer/mac/library/documentation/Cocoa/Conceptual/KeyValueObserving/Concepts/KVOBasics.html#//apple_ref/doc/uid/20002252 两篇文档。

首先,我们在NSOperation的子类中添加一个BOOL变量,当这个变量变为YES时,标志异步操作已经完成:

BOOL _isFinished;

在实现中加入这个变量的访问方法:

- (BOOL)isFinished

{

cocoa异步请求 and libxml2.dylib(10).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219