0

我有一个使用 NSURLConnection 来触发 POST 请求的类。

我有其他类在这个类上使用一个委托,它用来在收到响应时触发一个事件。

当我解析响应时,我像这样调用委托:

- (void)connectionDidFinishLoading:(NSURLConnection*)conn { ...
            if (delegate)
            {
                [delegate serverDataLayerResponse:entity];
            } ... }

我在 if 块内的行上得到“EXC_BAD_ACCESS(code=1,address-...”。

我什至在这部分尝试过@try 和@catch,但它仍然会杀死我的应用程序。

我怀疑委托仍然指向已释放的内存中的对象?我该如何防范呢?

谢谢你的帮助。

4

1 回答 1

1

你的指针不好。delegate非零,因此测试通过,但不指向有效对象。您可以在委托中放置一个断点-dealloc来检测对象是否被释放。此外,请尝试打破分配委托的位置,并让您在此时拥有一个有效的对象。

于 2013-07-21T13:40:21.693 回答