ios - 无法快速分配值类型不匹配

标签 ios swift option-type weak

我有以下代码片段。

 camera.onDeviceChange = { [weak self] (camera: LLSimpleCamera!, device: AVCaptureDevice!) -> Void in
      print("Device changed.")
 }

这曾经在 Swift 2 中运行良好,但现在我收到以下错误消息:

Cannot assign value of type '(LLSimpleCamera!, AVCaptureDevice!) -> Void' to type '((LLSimpleCamera?, AVCaptureDevice?) -> Void)!'

不太确定如何更改它,我尝试通过更改 !到 optionals 然后添加 !在无效之后,但是这没有用。

最佳答案

您的错误表明类型不匹配,这意味着 LLSimpleCamera! != LLSimpleCamera? .. 无需定义类型。 .. 你可以像这样使用它

camera.onDeviceChange = { [weak self] (camera, device) -> Void in
   print("Device changed.")
}

关于ios - 无法快速分配值类型不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41399264/

相关文章:

java - map() 方法的通配符泛型

java - Java中使用Optional类时,对象无法转换为字符串

iphone - 从 nsmutablearray 中删除对象

ios - 几个DownloadTasks顺序

javascript - 使用 JavaScript.evaluate 检测 WKWebView 中的按钮单击(按类名)

swift - 使用 JSON、mysql 和 php 的用户注册问题 :EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)

swift - 如何将 NSNumberFormatter 与 AttributedString 一起使用?

swift - 泛型类型 'T' 不符合协议(protocol) 'Encodable'

ios - 使用 JWT 获取 Apple Music SDK 的 userToken 时出错

swift - 为什么我们需要显式地将可选类型转换为 Any?