因为我是很新,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