0

次の警告が表示されます。

コントロールが非 void 関数の終わりに到達する可能性があります

developer.apple.com のコードを使用する場合:

写真や動画を撮影するための Apple のコード

- (BOOL) startCameraControllerFromViewController: (UIViewController*) controller usingDelegate: (id <UIImagePickerControllerDelegate,UINavigationControllerDelegate>) delegate
{
    if (([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera] == NO) || (delegate == nil) || (controller == nil)) return NO;

    UIImagePickerController *cameraUI = [[UIImagePickerController alloc] init];
        cameraUI.sourceType = UIImagePickerControllerSourceTypeCamera;

    cameraUI.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:
        UIImagePickerControllerSourceTypeCamera];

    cameraUI.allowsEditing = NO;

    cameraUI.delegate = delegate;
    [controller presentViewController:cameraUI animated:YES completion:nil];
}

誰でも理由を教えてもらえますか?

4

4 に答える 4

2

「IF条件」が満たされない場合、値は返されません。

追加:-

return YES; // after controller presentViewController statement
于 2013-09-26T06:46:45.383 に答える
2

警告を取り除くために、関数で BOOL 値を返す必要があります

 [controller presentViewController:cameraUI animated:YES completion:nil];
 return YES;
于 2013-09-26T06:45:23.670 に答える
2

return YES;を逃した 関数の最後の行。

于 2013-09-26T06:48:20.797 に答える
1

return YES;関数の最後に書き込み/配置する必要があり ます。...- (BOOL) startCameraCon.......

于 2013-09-26T06:46:58.477 に答える