0

在我的第一个视图控制器中,我有一个在实现文件中合成的 UIImage 属性。在推送的第二个视图控制器中,我在那里创建了一个 UIImage 对象,同时将它设置为来自第一个视图控制器的 UIImage 属性。最后,我解散了第二个视图控制器。但是,在关闭视图控制器后,图像似乎没有保存。我的理解是,由于 UIImage 是一个指针,因此数据传递是通过引用进行的,并且由于控制器被解除,所以 UIImage 也是如此。这是正确的,有没有更好的方法来完成这项任务?供您参考,我使用的是 ARC。

在第一个视图控制器(firstVC)中,

@property (strong, nonatomic) UIImage *image;

在第二个视图控制器中,

[firstVC setImage:self.ivarUIImageView.image];

其中 ivarUIImageVIew 定义为:

@property (strong, nonatomic) IBOutlet UIImageView *ivarUIImageView;

现在让我们在第三个视图控制器中说,我在 viewDidLoad 方法中:

imgView = [[UIImageView alloc] initWithImage:firstVC.image];

其中 imgView 定义为:

@property (strong, nonatomic) IBOutlet UIImageView *imgView;
4

1 回答 1

1

您想通过创建属性来确保UIImage由第一个视图控制器保留strong。此外,如果在 a 中显示它,UIImageView您必须将 UIImageView 设置image为新图像才能看到 UI 中反映的变化。

于 2013-04-08T22:32:08.663 回答