首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在异步NSURLConnection中处理NSZombies?

如何在异步NSURLConnection中处理NSZombies?
EN

Stack Overflow用户
提问于 2009-12-05 00:46:24
回答 1查看 507关注 0票数 0

我目前正在异步使用NSURLConnection和几个UIViews (每个视图都将NSURLConnection作为委托进行处理)。我遇到的问题是,当用户切换视图太快时,代理变成了NSZombie,应用程序崩溃--也就是说,NSURLConnection不再有活动的代理。那么,第一个问题是,是否有办法绕过这一点?

第二个问题很简单--我如何处理NSZombie?简单的if(myObject != nil)..根本不起作用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-12-05 01:04:10

在处置NSURLConnection的委派之前,你需要对它进行cancel。只需在UIView中保留一个对充当委托的NSURLConnection的引用,然后调用[urlConnection cancel]

发布消息后,如果继续使用该指针,则需要将指向该消息的指针设置为空。举个例子:

代码语言:javascript
复制
id myObject = [[SomeObject alloc] init];

/* Some code */

[myObject release];
myObject = nil;

/* Some more code */

if (myObject != nil) {
   [myObject doSomething];
}

但是,请注意,向nil发送消息是有效的,因此您不需要安全地保护消息发送。如果是myObject == nil,它就不会有任何效果。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1848214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档