0

私の最初の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;
4

1 に答える 1

1

UIImageプロパティを作成することにより、最初のView Controllerによってが確実に保持されるようにする必要がありますstrong。また、それを表示している場合は、UI に反映された変更を確認するためにUIImageView、UIImageView を新しい画像に設定する必要があります。image

于 2013-04-08T22:32:08.663 に答える