目标c-核心数据内存管理



我来自.NET世界,所以内存管理不是我过去做过的事情。所以,这就是我所处的情况。我有一个方法可以搜索DB并将一些数据返回给视图控制器:

- (NSArray *)getSomeData
{
    NSMutableArray *myArray = [[NSMutableArray alloc] init];
    //search DB
    [myArray addObject:@"Here I'm adding some objects"];
    return myArray;
}

在我的视图控制器中,我有一个全局变量NSArray*myGlobalData来切换,我添加了我的DB数据:

myGlobalData = [DataManager getSomeData];

当我在分配或泄漏的情况下运行应用程序时,就会出现内存泄漏。我该如何避免这种情况?我试过使用自动释放酶,但没有用。处理init/allocated对象返回的标准方法是什么?

您需要。。。。

 return [myArray autorelease];

但请确保将数组保留在使用它的位置…