Xcode 7.0 Swift更新问题

时间:2015-06-09 19:36:12

标签: xcode swift2

我正在尝试更新我的项目以使用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“:没有这样的文件或目录”

2 个答案:

答案 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以后出现问题而引发错误。投掷功能需要标有trytry!

此外,您还需要do { ... } catch来捕获可能发生的任何错误。这将捕获错误并处理它。

您可能希望阅读changes in Swift 2以了解发生这种情况的原因。 WWDC视频也非常有用。