0

我收到以下警告:

控制可能到达非空函数的结尾

使用 developer.apple.com 的一些代码时:

苹果的拍照和电影代码

- (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

你错过了一个return YES; 函数末尾的行。

于 2013-09-26T06:48:20.797 回答
2

您需要在函数中返回一个 BOOL 值以消除警告 在该行之后调用

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

如果不满足“IF 条件”,则不会返回任何值。

添加一个: -

return YES; // after controller presentViewController statement
于 2013-09-26T06:46:45.383 回答
1

你需要写/放在 return YES;你的函数的末尾。...- (BOOL) startCameraCon.......

于 2013-09-26T06:46:58.477 回答