我正在尝试更新我的项目以使用Xcode 7.0,并且在更新我的Swift项目后,我收到的错误是我在这一行上不理解的。
let jsonData:NSDictionary = NSJSONSerialization.JSONObjectWithData(urlData!, options:NSJSONReadingOptions.MutableContainers ) as! NSDictionary
错误是
“通话可以抛出,但没有标记'尝试'并且未处理错误”
我也在项目文件中收到这两个错误......
“链接器命令失败,退出代码为1(使用-v查看调用)”
和
“错误:无法解析调试映射”/Users/MattFiler/Library/Developer/Xcode/DerivedData/ePlanner-cqwzlxqgpwaloubjgnzdlomjkfea/Build/Intermediates/SwiftMigration/ePlanner/Products/Debug-iphonesimulator/ePlannerTests.xctest / ePlannerTests“:没有这样的文件或目录”
答案 0 :(得分:1)
如果它抛出错误,你需要尝试捕获。
do {
let jsonData:NSDictionary = try NSJSONSerialization.JSONObjectWithData(urlData!, options:NSJSONReadingOptions.MutableContainers ) as! NSDictionary
//...
}
catch {
}
答案 1 :(得分:1)
试试这段代码:
do {
let jsonData = try NSJSONSerialization.JSONObjectWithData(urlData!, options: .MutableContainers ) as! NSDictionary
// Use jsonData here
} catch {
print("Well something happened: \(error)")
}
您需要try
关键字,因为NSJSONSerialization.JSONObjectWithData
现在因为Swift 2以后出现问题而引发错误。投掷功能需要标有try
或try!
。
此外,您还需要do { ... } catch
来捕获可能发生的任何错误。这将捕获错误并处理它。
您可能希望阅读changes in Swift 2以了解发生这种情况的原因。 WWDC视频也非常有用。