我有一个(保留的)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/

10-14 20:35
查看更多