我來自.NET世界,所以內存管理並不是我過去給出的那麼多。所以,這是我在...的情況下,我有一個搜索數據庫並返回一些數據返回到視圖控制器的方法:CoreData內存管理
- (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];
當我與分配或泄漏運行我的應用程序有一個內存泄漏。我怎樣才能避免這種情況?我嘗試autorelease但它沒有幫助。處理init /分配對象返回的標準方式是什麼?
不要調用方法'GET'任何東西;只是叫它'someData'。 「get」具有非常特殊和特殊的含義。 – bbum 2011-06-16 15:32:23
我在我的數據層命名約定中使用了「獲取」和「保存」..我假設你指的是獲取者和設置者,但我只是想澄清一些事情,因爲我是新來的ObjC並想學習儘可能多可能:),我認爲這是一個很好的建議! – paxx 2011-06-17 08:58:13
這很好; 'get'意味着該方法將通過引用返回某些東西,這在Cocoa API中很少見。 – bbum 2011-06-17 15:00:09