【发布时间】:2011-11-02 21:25:51
【问题描述】:
我有一个从数据管理器获取数据的方法。它看起来像这样:
- (void)GetData {
NSArray *anArray = [datamanager GetData]; // GetData returns an autoreleased array
self.MyDataArray = anArray;
}
MyDataArray 被声明为属性(非原子,保留)
我的问题是,函数 datamanager GetData 在代码中的其他地方发生了变化,在调用 GetData 时为 anArray 返回了不同的值。我对 self.MyDataArray = anArray 这一行感到困惑。因为据我所知,这将第一次保留 anArray,然后再次调用 GetData 方法,然后保留不同的 anArray,依此类推。那么这是内存泄漏吗?如果是这样,我需要做什么才能不发生内存泄漏?谢谢。
【问题讨论】: