Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 释放(id):消息释放发送到释放的对象错误解决方案?_Iphone_Memory - Fatal编程技术网

Iphone 释放(id):消息释放发送到释放的对象错误解决方案?

Iphone 释放(id):消息释放发送到释放的对象错误解决方案?,iphone,memory,Iphone,Memory,在我的Iphone应用程序中,我得到: objc[597]: FREED(id): message release sent to freed object=0x3b81780 错误。是什么导致了这个错误?是关于内存分配的吗?我有UITable和model视图,其中包含一些文本字段。它从model view中获取用户名,然后在internet中搜索,并从internet获取一些图像。它获取数据,但当model view消失时,应用程序退出。并给出该错误。当model view关闭时,它运行我的

在我的Iphone应用程序中,我得到:

objc[597]: FREED(id): message release sent to freed object=0x3b81780

错误。是什么导致了这个错误?是关于内存分配的吗?我有UITable和model视图,其中包含一些文本字段。它从model view中获取用户名,然后在internet中搜索,并从internet获取一些图像。它获取数据,但当model view消失时,应用程序退出。并给出该错误。当model view关闭时,它运行我的方法并获取值。但它从应用程序退出

基本上,您正在尝试这样做:

AnObject * anObject = [[AnObject alloc] init];
[anObject doSomething];
[anObject release];
[anObject doSomethingElse];

调用
-release
时,对象被解除分配(因为它只有+1个retain计数),这意味着您的
doSomethingElse
消息将被发送到不再存在的对象。您可以使用Instruments中的“僵尸”工具运行应用程序,以帮助进一步调试。

+1<在这种情况下,代码>doSomethingElse==
发布
?(“信息发布发送给freed…”)zoul:是的。在某个地方,您正在第二次释放该对象。如果没有显式调用
release
两次,那么对象可能会自动删除。当使用基础类的便利方法时,很可能发生这种情况,如<>代码> StrugFieldFrase:。基本上,如果你有对象,没有<代码> OLC/<代码>或<代码>拷贝<代码>任何地方,它很有可能是自动备份的。我看了我的程序,忽略了所有的版本。但是它也给出了同样的错误。