视图控制器没有初始化程序

时间:2018-02-03 00:25:50

标签: swift initialization

aes()

我非常困惑,因为我在不同的相机应用程序中使用了完全相同的代码,但无论出于何种原因,我都收到错误消息,说明viewcontroller没有初始化程序。我该如何修复这个错误?

1 个答案:

答案 0 :(得分:5)

问题在于:

class ViewController3: UIViewController {
    let session = AVCaptureSession()
    var camera : AVCaptureDevice?
    var cameraPreviewLayer : AVCaptureVideoPreviewLayer?
    var cameraCaptureOutput : AVCapturePhotoOutput?
}

因为不是可选的,必须是initialized

  

在创建该类或结构的实例时,类和结构必须将其所有存储属性设置为适当的初始值。存储的属性不能保留在不确定的状态。

     

您可以在初始化程序中设置存储属性的初始值,或者通过将默认属性值指定为属性定义的一部分。

要解决此问题,您可以将此属性定义为可选:

<%= form.fields_for :region do |region| %>
  <p>
    Region: <%= region.text_field :name %>
  </p>
<% end %>