我有一个NSMutableArray,其属性是(非原子的,保留的),由于某种原因它已被释放,这是我分配它时的代码(tableData是NSMutableArray):
tableData = [[[NSMutableArray alloc] init] autorelease];
当我分配它时,它的保留计数为1。当我将它分配给tableData时,它的保留计数为2。然后使用自动释放,在runloop的结尾,它应该变为1(这是我想要的)。但这不会发生。稍后,当我引用它并运行一个方法时,我得到了随机对象(上次是UITabBarSwappableImageView),并说发送了无法识别的选择器。这很有意义...该对象正在释放,而其他一些对象正在取代它...但是为什么要释放它?
谢谢。
最佳答案
您是否使用了点语法?如果不是,则不使用合成的二传手,因此不会保留参考。
应该这样分配:
self.tableData = [[[NSMutableArray alloc] init] autorelease];