0

みなさん、こんにちは。カメラをモーダルに表示しようとするとクラッシュします。これが私のコードです:

if(!imagePicker){imagePicker = [[UIImagePickerController alloc] init]; }

[imagePicker setSourceType:UIImagePickerControllerSourceTypeCamera];


[imagePicker setDelegate:self];

[self presentModalViewController:imagePicker animated:YES];

[imagePicker release];

私はここですべての検索を行いましたが、通常、クラッシュはあなたが写真を撮った後にのみ発生します

imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)imgeditingInfo:(NSDictionary *)info

アプリを閉じるだけで詳細が表示されず、スレッドが一時停止していることがわかります。

ここで何が悪いのか考えてみてください。情報のために私はipodtouch3GとiPhone3GSとそれでテストしています

4

3 に答える 3

1

UIImagePickerController痛みを伴う可能性があります。試す

imagePicker = [[[UIImagePickerController alloc]init] autorelease];

[imagePicker release];を削除します。

率直に言って、単にテストするだけでは、その条件付き割り当てを信頼できませんif(!imagePicker)

于 2013-03-06T06:26:54.663 に答える
0

解放した後でimagePicker変数をクリアします。そうしないと、2番目の写真を撮りに行って実際に解放されたためにクラッシュしたときに、null以外のままになります。

[imagePicker release];
imagePicker = nil;
于 2014-11-08T22:30:36.323 に答える
-1

-(void)presentModalViewController:(UIViewController *)modalViewController animated:(BOOL)animated

- (void)dismissModalViewControllerAnimated:(BOOL)animated

iOS 6.0では非推奨であるため、代わりにこれらのメソッドはそれぞれを使用します

- (void)presentViewController:(UIViewController *)viewControllerToPresent animated:(BOOL)flag completion:(void (^)(void))completion

- (void)dismissViewControllerAnimated:(BOOL)flag completion:(void (^)(void))completion

于 2013-03-06T07:01:55.343 に答える