0

我不确定这是否是一个错误。代码编译得很好(没有警告),但是当我输入一个方法时,一个本地的值(一个 NSMutableString)会在调试器中显示这个内容:

__NSAutoreleaseFreedObject(): release of previously deallocated object

在此处输入图像描述 我没有遇到异常,看起来字符串的内容(当时甚至没有分配)是 NSAutoReleaseFreedObject 警告。

这是怎么回事?

4

2 回答 2

1

它(很可能)意味着您的应用程序的执行与平时不同,并且在您对对象的引用计数中暴露了一个错误。此类问题也可能与不正确的多线程有关。

执行您的应用程序以触发启用僵尸的问题应该可以帮助您找到它。

于 2011-03-17T20:16:29.933 回答
1

如果你不将一个普通的局部变量初始化为任何东西,它的值是未定义的——它可以是任何东西。实际上,它会将恰好位于分配变量的堆栈上的位模式解释为变量类型的值。在这种情况下,变量包含的“任何东西”恰好是该字符串的地址。

于 2011-03-17T20:23:33.607 回答