条件绑定的初始化程序必须具有可选类型,而不是 '[NSObject: AnyObject]' SwiftyJSON
Initialiser for conditional binding must have Optional type, not '[NSObject: AnyObject]' SwiftyJSON
我想跳过去使用 Xcode 7.3.1 并转换我的代码,但是我在这里遇到了一些问题,这就是我以前在 Swift 中使用它的方式1.1 但我收到错误 - 条件绑定的初始化程序必须具有可选类型,而不是 '[NSObject: AnyObject]' SwiftyJSON:
if let userInfo = error.userInfo { <-- Error in this line //Initialiser for conditional binding must have Optional type, not '[NSObject: AnyObject]'
if let breadcrumb = userInfo["JSONErrorBreadCrumbKey"] as? NSString {
let newBreadCrumb = (breadcrumb as String) + "/\(index)"
let newUserInfo = [NSLocalizedDescriptionKey: "JSON Keypath Error: Incorrect Keypath \"\(newBreadCrumb)\"",
"JSONErrorBreadCrumbKey": newBreadCrumb]
return JSONValue.JInvalid(NSError(domain: "JSONErrorDomain", code: 1002, userInfo: newUserInfo))
}
}
提前致谢!
条件绑定 (if let) 需要一个结果可以为 nil 的表达式。该错误意味着 error.userInfo 是 never nil.
你只需要删除第一行的if,像这样:
let userInfo = error.userInfo
您的其余代码应该没问题。您还需要删除右括号 }
if 以及。
我想跳过去使用 Xcode 7.3.1 并转换我的代码,但是我在这里遇到了一些问题,这就是我以前在 Swift 中使用它的方式1.1 但我收到错误 - 条件绑定的初始化程序必须具有可选类型,而不是 '[NSObject: AnyObject]' SwiftyJSON:
if let userInfo = error.userInfo { <-- Error in this line //Initialiser for conditional binding must have Optional type, not '[NSObject: AnyObject]'
if let breadcrumb = userInfo["JSONErrorBreadCrumbKey"] as? NSString {
let newBreadCrumb = (breadcrumb as String) + "/\(index)"
let newUserInfo = [NSLocalizedDescriptionKey: "JSON Keypath Error: Incorrect Keypath \"\(newBreadCrumb)\"",
"JSONErrorBreadCrumbKey": newBreadCrumb]
return JSONValue.JInvalid(NSError(domain: "JSONErrorDomain", code: 1002, userInfo: newUserInfo))
}
}
提前致谢!
条件绑定 (if let) 需要一个结果可以为 nil 的表达式。该错误意味着 error.userInfo 是 never nil.
你只需要删除第一行的if,像这样:
let userInfo = error.userInfo
您的其余代码应该没问题。您还需要删除右括号 }
if 以及。