Swift 2.0 Call Can Throw 但没有标上try

Swift 2.0 Call Can Throw but is not marked with try

我正在尝试在更新到 XCode 7 后更新我的应用程序中的代码,看起来我将不得不再次经历一个严肃的学习曲线才能赶上进度。我在下面的代码中做错了什么?

if let 还在用吗?

我对 C# 之外的 try/catch 非常不熟悉。我不知道如何在 swift 的上下文中使用它,如果能找到一个不假设我曾经知道 Objective C 或曾经遇到过的易于理解的指南,那就太好了这个之前。

改用这个:

do {
    let json = try NSJSONSerialization.JSONObjectWithData(...)
    return json
} catch let error as NSError {
    print("JSON Error: \(error.localizedDescription)")
}

您正在调用一个抛出 Swift 错误的方法,因此需要用 try 标记它。

do
{
    let json = try NSJSONSerializer.JSONObjectWithData(...)
    return json
}
catch 
{
    // By default the catch clause defines the variable error as whatever ws thrown
    print("Error is \(error)")
    return nil
}

几乎就是你想要的。

如果我的理解是

let result: AnyObject? = try! NSJSONSerialization.JSONObjectWithData(jsonData!, options: NSJSONReadingOptions.MutableContainers)