我有一个(保留的)UIImage属性,用于保存用户选择的图像。
这是用户选择时当前拥有的代码:
- (IBAction) selectImage1 {
UIImage *image = [UIImage imageNamed: @"image1-big.png"];
self.bigImage = image;
}
但我想知道是否可以省略临时变量便捷方法的使用,而只需执行以下操作:
- (IBAction) selectImage1 {
self.bigImage = [UIImage imageNamed: @"image1-big.png"];
}
如果第二种方法有问题(我猜是与内存管理有关),请有人解释吗?
谢谢!
最佳答案
第二种方法很好。 UIImage *image = [UIImage imageNamed: @"image1-big.png"];
行为您提供了一个自动发布的变量image
。通过self.bigImage = image
将其分配给您的ivar会调用bigImage
的setter方法,该方法保留该值。因此,self.bigImage = [UIImage imageNamed: @"image1-big.png"];
行等效于更冗长的方式。
关于objective-c - 设置属性值时是否需要使用临时变量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11749618/