无法将类型'()-> Void'的值分配给'(()-> Void)!'

丹尼尔·西伯特

由于我使用Swift 3,因此出现以下错误。

无法将类型'((LLSimpleCamera ?, NSError?)-> Void'的值分配为类型'(((LLSimpleCamera ?, Error?)-> Void)!'

有谁知道该怎么办?这是我的代码。

camera.onError = { (camera: LLSimpleCamera?, error: NSError?) -> Void in
        print("Camera error: \(error)")

        if error.domain == LLSimpleCameraErrorDomain {
            if error.code == Int(LLSimpleCameraErrorCodeCameraPermission.rawValue) || error.code == Int(LLSimpleCameraErrorCodeMicrophonePermission.rawValue) {

                let alertVC = UIAlertController(title: "Ooops!", message: "We need permission for the camera. Please go to your settings.", preferredStyle: .alert)
                let okAction = UIAlertAction(title: "OK", style: .default, handler: nil)
                let settingsAction = UIAlertAction(title: "Settings", style: .default) { (action) in
                    UIApplication.shared.openURL(URL(string: UIApplicationOpenSettingsURLString)!)
                }

                alertVC.addAction(okAction)
                alertVC.addAction(settingsAction)

                self.present(alertVC, animated: true, completion: nil)
            }
        }
    }
用户名

Swift 3将目标CNSError类型映射到协议Error也称为 ErrorTypein Swift 2)。

因此,在闭包参数列表中,它期望Error作为第二个参数的类型,而不是NSError

但是在闭包内部,如果要使用/ / etc errorNSError需要键入case参数.domain.code

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无法将类型'((UIViewController ?, NSError?)-> Void'的值分配给类型'((UIViewController ?, Error?)-> Void)?

IntelliSense:无法将类型为“ void”的值分配给类型为“ double”的实体

Swift 4:无法将类型'(_)-> Void'的值分配给类型'(()->())吗?'

错误:无法将类型“ void *”的值分配给类型“ int **”的实体

类型'null'不能分配给类型'()=> void | 空值'

无法将类型'myFuncDef *'分配给'void(*)(double *,double *)'

错误:无法将参数类型“void Function(bool)”分配给参数类型“void Function(bool?)”

无法将参数类型“void Function(String)”分配给参数类型“void Function(String?)?”

将变量void *分配给void C的数组

收到错误“类型'void'无法分配给类型'ReactNode'”

Flutter 类型“Function”无法分配给参数类型“void”

错误TS2345:类型'(response:string)=> void'的参数不能分配给类型'(((value:{})=> void | PromiseLike <void>)| 空值

错误:无法将参数类型“ void Function(ImageInfo,bool)”分配给参数类型“ ImageStreamListener”

TypeScript错误:无法将类型“ void”分配给类型“ boolean”

错误:无法将参数类型“ Future”分配给参数类型“ void Function()”

无法将参数类型“Function”分配给参数类型“void Function()”?

DropdownButton 错误:无法将参数类型“void Function(String)”分配给参数类型“void Function(String?)?”

Linq Foreach-返回无法将“ void”分配给隐式类型的局部变量

无法将Rxjs类型Observable <Unknown>分配给Observable <void>

输入'Promise <布尔值| void>'不可分配给'boolean'类型

类型“ void”不能分配给类型“ any []”

类型“ void”不可分配给类型“ FormData”

类型“ void”不可分配给类型“ User []”

类型 'void' 不能分配给类型 'ObservableInput <Action>'

类型“ void”不可分配给类型“ ObservableInput <{}>”

类型“ void”的参数不能分配给类型“ Action”的参数

Promise <void>类型不能分配给Promise <customType []>类型

ngrx效果使类型“ void”不能分配给类型“ ObservableInput”

类型 '() => void' 不可分配给类型 'string'