在我的第一个视图控制器中,我有一个在实现文件中合成的 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;