2013-03-06 65 views
0

我是新来的iOS开发,当我使用下面的代码保留计数达到3和应用程序将崩溃,减少保留计数当启用ARC模式

AsyncronousUIImage *image=[[AsyncronousUIImage alloc] init]; 
     [image loadImageFromURL:imageURL inImageView:templateView]; 
     image.delegate=self; 
     [templateScroll addSubview:templateView]; 

enter image description here

我有ARC启用模式,我正在使用xcode 4.6。

得到的错误:

的malloc:*错误对象0xa293dd0:被释放的指针没有被分配 *设置malloc_error_break断点调试

知道的任何帮助。

回答

0

如果您使用的是ARC,那么image将在离开当前函数的范围后发布。它看起来像你正在使用该变量的异步方法。所以,在异步代码接收数据并尝试设置它时,图像被释放。

当使用ARC时,您需要确保您保留代码其他部分所需的变量,或者至少将它们传递给其他将保留它们的对象。

+0

你可以给我发送相关的链接或示例代码,我是新的iOS开发我无法正确理解你。 – Kunal 2013-03-07 12:27:06

+0

@Kunal Sure - 这是[ARC发布说明](http://developer.apple.com/library/ios/#releasenotes/ObjectiveC/RN-TransitioningToARC/Introduction/Introduction.html) – Abizern 2013-03-07 12:30:26