需要释放内存以进行alloc,retain和copy。我的问题是我保留UIImage属性的情况,但是它是由imagedNamed函数自动释放的。我还应该发布以下变量吗?
@property (nonatomic, retain) UIImage *image;
self.image = [UIImage imageNamed:@"image.png"];
谢谢!
答案 0 :(得分:4)
在您的代码中,您不使用您的属性,而是直接将自动释放的UIImage对象分配给您的iVar,因此您需要
保留您的图像(或者更好地实际使用属性) - 否则当您退出当前作用域时,您的图像对象将被销毁,并且在其他方法中访问它将导致错误。所以使用:
self.image = [UIImage imageNamed:@"image.png"];
以dealloc方式发布图像
答案 1 :(得分:0)
是的,你必须保留图片,因为你保留了它。