我有一个不使用 ARC 的旧应用程序。在尝试解决一个相当简单的更改时,我遇到了一个烦人的问题:
运行时:
NSMutableArray *arr=[[NSMutableArray alloc] initWithCapacity:0];
NSLog(@"arr=%08lx", (unsigned long)arr);
[arr release];
我在控制台中得到这个:
arr=06a2ca50
*** -[__NSArrayM class]: message sent to deallocated instance 0x6a2ca50
单步执行发布声明后立即出现错误。
我不记得在升级到 4.4.1 之前看到过这个,xcode 4.4.1 中有什么新东西可以解释上述内容吗?
或者我只是在上面的代码中监督一些非常明显的东西?
更新:降级到 4.3.3 后问题消失了。目前正在寻找可能导致这种情况的原因。我无法使用新的/干净的项目进行复制。xcode 45-DP4 / iOS6 也有同样的问题。