我正在使用AV Foundation框架。我正在尝试为“AVCaptureDeviceInput”对象执行“deviceInputWithDevice”的方法调用。
问题是方法调用包含一个名为“error”的“error”参数,我在xcode中不断收到此警告:使用undelcared标识符'error'
我的所有AV Foundation代码都位于View Controller的ViewDidLoad方法实现中。这是:
AVCaptureSession *session = [[AVCaptureSession alloc]init];
session.sessionPreset = AVCaptureSessionPresetHigh;
AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];
AVCaptureDeviceInput *input = [AVCaptureDeviceInput deviceInputWithDevice:device error:error];
[session addInput:input];
我无法弄清楚为什么它一直向我提供“错误”参数的未声明标识符警告。
非常感谢任何帮助。
答案 0 :(得分:2)
您必须声明您尝试使用的error
变量:
NSError *error = nil;
AVCaptureDeviceInput *input = [AVCaptureDeviceInput deviceInputWithDevice:device error:&error];
请注意,在将&
传递给方法时,您需要error
之前的if (input) {
// it succeeded, do something
} else {
NSLog(@"Error trying to call deviceInputWithDevice: %@", error);
}
。当然你应该检查一下:
{{1}}