目前,我正在使用异步 NSURLConnection 有几个 UIViews (每图处理 NSURLConnection 作为委托).我的问题是当用户的开关的风景太快,并委托变 NSZombie 该应用程序的崩溃-这是NSURLConnection没有客厅委托了。所以,第一个问题是,如果有一个办法绕过这个?

第二个问题是简单-我怎么处理NSZombie?简单的 if(myObject != nil).. 不在所有的工作。

有帮助吗?

解决方案

你需要 取消NSURLConnection 在你之前的处置它的委托。只需保持一个参考NSURLConnection你 UIView 作为一个委托,并呼叫 [urlConnection cancel].

之后你发布一个消息你需要设置你的指针指向它的零如果你继续使用该指针。作为一个例子:

id myObject = [[SomeObject alloc] init];

/* Some code */

[myObject release];
myObject = nil;

/* Some more code */

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

注意到但是,它是有效的消息发送到 nil 所以你不需要安全保护的消息发送。它只是不会有任何效果 myObject == nil.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top