因爲我是很新,Objective-C和內存管理,我很好奇,如果這個代碼是確定的 -內存管理困擾新手
首先,代碼返回一個UIImageView -
-(UIImageView *)somethingAnimation {
UIImageView *something = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Something.png"]];
something.frame = CGRectMake(-100, -100, kSomethingWidth, kSomethingHeight);
return something; // released later by the Swarmer object
}
然後調用它的代碼,其中的UIImageView *的東西是在接口中聲明,那麼這是在執行 -
something = [controller somethingAnimation];
後來 -
[something release];
這是否正確地釋放一切?似乎工作沒有記憶或崩潰的問題。非常感謝您的幫助。
這使得該類更少重用。想象一下,你與朋友分享這些代碼,他稱之爲動畫方法,但不知道他必須稍後調用發佈。現在他有內存泄漏,因爲他信任你的代碼遵循蘋果公司在其[內存管理編程指南]中規定的約定(http://developer.apple.com/library/mac/#documentation/cocoa/conceptual/ MemoryMgmt/MemoryMgmt.html)。 – Tobias 2011-02-14 22:16:34