我创建了一个这样的对象:
NSDictionary *listProfils;
...
@property (nonatomic, retain) NSDictionary *listProfils;
...
@synthetize listProfils
稍后在代码中我将对象设置在 viewDidLoad 方法中,然后在方法 tableView:tableViewcellForRowAtIndexPath:
中进行计数问题是,当程序读取方法 tableView:tableViewcellForRowAtIndexPath:时,我的对象已经被释放,而它不在上一个方法中。
有谁知道这里的问题是什么以及为什么我的对象被释放了?
提前致谢!
答案 0 :(得分:0)
没有足够的代码来确定错误,但我会猜测。你可能做过像
这样的事情listProfils = [NSDictionary dictionaryWith... //etc.];
并且因为它返回了一个自动释放的字典,而这个字典没有被ivar保留,字典将会在一段时间后被释放。更好地使用属性引用:
self.listProfils = [NSDictionary dictionaryWith... //etc.];
这将保留您刚创建的字典,autorelease将负责发布本地参考。