gpt4 book ai didi

iphone - 释放通过 imageNamed 加载的保留 UIImage 属性?

转载 作者:行者123 更新时间:2023-12-03 18:38:57 25 4
gpt4 key购买 nike

在我的类对象中,我为 UIImage 定义了一个 (nonatomic,retain) 属性。我用通过加载的图像分配了此属性

[UIImage imageNamed:@"file.png"];

如果在某个时候我想将此属性重新分配给另一个图像,我是否必须释放先前的引用?

我很困惑,因为通过保留属性,我知道我应该释放它。但因为 imageNamed: 是一种方便的方法(不使用 alloc),所以我不确定此处应用什么规则。

感谢您的见解!

最佳答案

正确,Florin...但是根据上面的讨论,如果一个人使用一个 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

关于iphone - 释放通过 imageNamed 加载的保留 UIImage 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1499793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com