B.T*_*ter 1 initialization swift
class ViewController3: UIViewController {
let session = AVCaptureSession()
var camera : AVCaptureDevice?
var cameraPreviewLayer : AVCaptureVideoPreviewLayer?
var cameraCaptureOutput : AVCapturePhotoOutput
Run Code Online (Sandbox Code Playgroud)
我很困惑,因为我在不同的相机应用程序中使用了完全相同的代码,但无论出于何种原因,我收到错误,说viewcontroller没有初始化器.我该如何修复错误?
问题出在这里:
var cameraCaptureOutput : AVCapturePhotoOutput
Run Code Online (Sandbox Code Playgroud)
既然不是可选的,必须初始化:
在创建该类或结构的实例时,类和结构必须将其所有存储的属性设置为适当的初始值.存储的属性不能保留在不确定的状态.
您可以在初始化程序中为存储的属性设置初始值,也可以通过将默认属性值指定为属性定义的一部分来设置初始值.
要解决此问题,您可以将此属性定义为可选:
class ViewController3: UIViewController {
let session = AVCaptureSession()
var camera : AVCaptureDevice?
var cameraPreviewLayer : AVCaptureVideoPreviewLayer?
var cameraCaptureOutput : AVCapturePhotoOutput?
}
Run Code Online (Sandbox Code Playgroud)