Alv*_*par 7 iphone release uiimage retain
在我的类对象中,我已经定义了一个(nonatomic, retain)属性UIImage.我为此属性分配了一个通过加载的图像
[UIImage imageNamed:@"file.png"];
Run Code Online (Sandbox Code Playgroud)
如果在某些时候我想将此属性重新分配给另一个图像,我是否必须释放先前的参考?
我很困惑,因为通过retain属性我知道我应该释放它.但因为imageNamed:是一种方便的方法(不使用alloc),我不知道在这里应用什么规则.
感谢您的见解!
小智 6
正确,弗罗林......但根据上面的讨论,如果一个人使用一个setter来获得属性(通过合成或手动)进行"保留",那么就不需要额外的保留.
换句话说,以下是正确的(并且没有内存泄漏),恕我直言,我是对的吗?我认为这是问题的初衷......我也想确定.;-) 谢谢!
@interface MyClass {
UIImage *myImage;
}
@property (nonatomic, retain) UIImage *myImage;
@end
@implementation MyClass
@synthesize myImage;
- (void) someMethod {
self.myImage = [UIImage imageNamed:@"foo.png"];
}
- (void) someOtherMethod {
self.myImage = [UIImage imageNamed:@"bar.png"];
}
- (void) dealloc {
self.myImage = nil;
[super dealloc];
}
@end
Run Code Online (Sandbox Code Playgroud)