我有這樣的功能分配和初始化對象:分配和初始化一個函數對象,將其發送到其他功能,並釋放它有
+(Item*)getItem:(NSString*)uid{
Item *file = [[Item alloc]init];
//do some stuff
return file;
}
,這是調用這個函數:
Item *tmp = [LibraryScan getItem:itemid];
//do some stuff
[tmp release];
現在我想釋放它後,我得到它,就像我上面寫。 我做對了嗎?
任何特殊的原因,而不是使用autorelease池來代替它? – 2012-01-30 09:31:43
有什麼理由爲什麼要這樣做呢? – MTA 2012-01-30 09:35:27
只有當你非常需要爲使用大量內存的特殊算法手動處理內存。否則,autorelease肯定是要走的路。 – 2012-01-30 09:39:57