Использование необъявленной ошибки идентификатора при попытке выполнить вызов метода

Я использую фреймворк AV Foundation. Я пытаюсь выполнить вызов метода "deviceInputWithDevice" для объекта "AVCaptureDeviceInput".

Проблема в том, что вызов метода содержит параметр «ошибка», который я назвал «ошибка», и я продолжаю получать это предупреждение в xcode: Использование неопределенного идентификатора «ошибка»

Весь мой код AV Foundation находится в реализации метода ViewDidLoad контроллера представления. Вот:

    AVCaptureSession *session = [[AVCaptureSession alloc]init];

    session.sessionPreset = AVCaptureSessionPresetHigh;

    AVCaptureDevice *device = [AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo];

    AVCaptureDeviceInput *input = [AVCaptureDeviceInput deviceInputWithDevice:device error:error];

    [session addInput:input];

Я не могу понять, почему он продолжает выдавать мне предупреждение о необъявленном идентификаторе для параметра «ошибка».

Любая помощь приветствуется.


person user3117509    schedule 17.02.2014    source источник


Ответы (1)


Вы должны объявить переменную 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);
}
person rmaddy    schedule 17.02.2014