如何处理NSZombies在异步NSURLConnection?
-
13-09-2019 - |
题
目前,我正在使用异步 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
.
不隶属于 StackOverflow