手机版

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

时间:2025-07-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文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)