Что такое частичная заявка на закрытие №1 в Swift - PullRequest
0 голосов
/ 09 июля 2020

Я пытаюсь разобраться в этом отчете cra sh, но не могу понять, потому что функция applySettings () не вызывается из init (), как показано в отчете cra sh. Что такое «частичная подача заявки на закрытие №1» в Swift?

введите описание изображения здесь

Вот желаемый код для функции init ().

   public override init()
{
    super.init()
    
    discoverySession = AVCaptureDevice.DiscoverySession(deviceTypes: [AVCaptureDevice.DeviceType.builtInWideAngleCamera, AVCaptureDevice.DeviceType.builtInDualCamera, AVCaptureDevice.DeviceType.builtInTelephotoCamera, AVCaptureDevice.DeviceType.builtInDualWideCamera,
            AVCaptureDevice.DeviceType.builtInTripleCamera,
            AVCaptureDevice.DeviceType.builtInUltraWideCamera], mediaType: AVMediaType.video, position: .unspecified)
    
    detectLenses()
    
    checkForDeviceAuthorization()
    
    setZoomParams()
    
    sessionQueue.async { [unowned self] in
        self.configureSession()
    }

}

1 Ответ

2 голосов
/ 09 июля 2020

Вы не можете выполнять асинхронные c вещи в init. Мы пытаемся вернуть инициализированный объект; то есть все вы должны здесь делать. Все остальное должно произойти в следующем вызове конфигурации, когда self полностью существует.

...