大家好,我在iphone里面联网操作的时候总是出现调用了被释放的对象,比如我在A页面有个按钮,点击进入B页面,在B页面我使用ASIHTTPRequest联网操作,但是网速很慢,我点了了返回,回到了A页面,那么我的ASIHTTPRequest就会报错,出现delegate(这个delegate代表B)被提前dealoc了,我想问下这个问题我需要怎么操作来解决啊,我写了N多if,但是都不管用,它不像java可以直接抛异常,所以在此请教各位大牛,谢谢了,
调试欢乐多
正确的做法,需要设置互斥量,在返回以及网络线程回调操作中分别设置,进行正确的释放以及delegate设置为空。
{
[request clearDelegatesAndCancel];
[request release];
...
[super dealloc];
}
[request setDownloadProgressDelegate:nil];
- (void)dealloc
{
[request clearDelegatesAndCancel];
[request release];
...
[super dealloc];
}
Xcode4.2以上不是可以不用手动释放吗?
ASI的代码是不用ARC的,所以