我目前正在异步使用NSURLConnection
几个UIViews
(每个视图都NSURLConnection
作为委托处理)。我遇到的问题是当用户切换视图太快并且委托成为NSZombie
应用程序崩溃时 - 那是 NSURLConnection 不再有活动委托。那么,第一个问题是是否有办法规避这种情况?
第二个问题很简单——我该如何处理 NSZombie?简单if(myObject != nil)..
的根本行不通。
我目前正在异步使用NSURLConnection
几个UIViews
(每个视图都NSURLConnection
作为委托处理)。我遇到的问题是当用户切换视图太快并且委托成为NSZombie
应用程序崩溃时 - 那是 NSURLConnection 不再有活动委托。那么,第一个问题是是否有办法规避这种情况?
第二个问题很简单——我该如何处理 NSZombie?简单if(myObject != nil)..
的根本行不通。
您需要在处置它的委托之前取消它。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
.