0

UIImagePickerController が制御しているときにアプリケーションが didReceiveMemoryWarning を取得すると、ピッカー (およびピッカーのデリゲート) が割り当て解除されたビューコントローラーに設定される理由を理解しようとしています。

View Controller one 呼び出し

self.postImagePicker = [[UIImagePickerController alloc] init];
self.postImagePicker.delegate = self;
self.postImagePicker.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;
self.postImagePicker.allowsEditing = YES;
[self presentModalViewController:self.postImagePicker animated:YES];

次に、UIImageViewController を表示し、画像を選択します。次に、メモリ警告をシミュレートします。ダイアログを表示したビュー コントローラーでメモリ警告エラーが発生し、ピッカーが 0x0 に設定されます (これは、デリゲートも無効になったことを意味します)。

ARCを使用しています。UIImageViewController が呼び出される方法が変更されたため、表示されたビューが再ロードされず、UIImageViewController へのポインターが無効になりましたか?

4

2 に答える 2

0

私はあなたがnilあなたのView Controllerを他のView ControllerのviewDidUnload. ビュー コントローラーが明示的に解放されない限り (または最初から参照を保持していない場合)、ビュー コントローラーの割り当てを解除する理由はありませんstrong

于 2012-01-30T03:00:08.897 に答える