8
我在尝试将以下代码从此库(https://github.com/dankogai/swift-json)转换为Swift 3兼容代码。Swift 2 to 3迁移jsonObject产生'Any'而不是期望的上下文结果类型'AnyObject?'
虽然我被卡在这一行上。
obj = try JSONSerialization.jsonObject(
我得到的错误是把JSONObject产生“任何”,而不是预期的情境结果类型“AnyObject?
我试图在其完整上下文中转换为swift 3之前的代码如下。
public convenience init(data:NSData) {
var err:NSError?
var obj:AnyObject?
do {
obj = try NSJSONSerialization.JSONObjectWithData(
data, options:[])
} catch let error as NSError {
err = error
obj = nil
}
self.init(err != nil ? err! : obj!)
}
你能给我举个例子吗?我有点生疏与铸造在斯威夫特 –
你应该能够做到这一点:'obj =尝试NSJSONSerialization.JSONObjectWithData( 数据,选项:[])作为AnyObject' – rhyshort
我改变了obj:任何?像你所建议的那样,想我终于明白了。然后,我在self.init上发现一个错误,它表示'?'中的Result值:表达式的类型不匹配'JSON.NSError(又名'NSError')和'Any'。没有双关语意,但......任何想法? –