0

我目前正在异步使用NSURLConnection几个UIViews(每个视图都NSURLConnection作为委托处理)。我遇到的问题是当用户切换视图太快并且委托成为NSZombie应用程序崩溃时 - 那是 NSURLConnection 不再有活动委托。那么,第一个问题是是否有办法规避这种情况?

第二个问题很简单——我该如何处理 NSZombie?简单if(myObject != nil)..的根本行不通。

4

1 回答 1

7

您需要在处置它的委托之前取消它。NSURLConnection只需在您的代理中保留对 NSURLConnection 的引用UIView并调用[urlConnection cancel]

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

id myObject = [[SomeObject alloc] init];

/* Some code */

[myObject release];
myObject = nil;

/* Some more code */

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

但是请注意,向其发送消息是有效的,nil因此您无需保护消息发送。如果myObject == nil.

于 2009-12-04T17:04:10.447 回答