私の最初のView Controllerには、実装ファイルに合成されたUIImageプロパティがあります。プッシュされた 2 番目のビュー コントローラーで、そこに UIImage オブジェクトを作成し、同時に最初のビュー コントローラーの UIImage プロパティに設定します。最後に、2 番目のビュー コントローラーを閉じます。ただし、ビューコントローラーが閉じられた後、画像は保存されていないようです。私の理解では、UIImage はポインターであるため、データの受け渡しは参照によって行われ、コントローラーが破棄されたため、UIImage も破棄されました。これは正しいですか?このタスクを達成するためのより良い方法はありますか? ご参考までに、私はARCを使用しています。
最初のView Controller(firstVC)では、
@property (strong, nonatomic) UIImage *image;
2番目のView Controllerで、
[firstVC setImage:self.ivarUIImageView.image];
ivarUIImageVIew は次のように定義されます。
@property (strong, nonatomic) IBOutlet UIImageView *ivarUIImageView;
次に、3 番目のビュー コントローラーで、viewDidLoad メソッドに次のように記述します。
imgView = [[UIImageView alloc] initWithImage:firstVC.image];
ここで、imgView は次のように定義されます。
@property (strong, nonatomic) IBOutlet UIImageView *imgView;