为什么在 Swift 中指定错误时在解析 JSON 数据时使用 & 符号?

Why the use of ampersand in parsing JSON data when specifiying error in Swift?

当使用 NSJSONSerialization 解析数据时,我的代码将不会编译,除非我在它之前用一个符号指定解析错误,例如:

var parsingError: NSError? = nil
            let parsedResult = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.AllowFragments, error: &parsingError) as! NSDictionary

你可以在

中看到它

error: &parsingError

有人可以解释这是为什么吗?这里的 & 符号是什么意思?

非常感谢!

& 是 in-out 参数所必需的。

我希望您知道,如果您的应用程序没有收到 JSON 字典,它将会崩溃。例如,如果您在付费专区后面,这很可能会发生。因此,如果我在提供免费 Wi-Fi 的酒店中尝试,您的应用程序可能会崩溃。传递 AllowFragments 似乎毫无意义,因为 JSON 片段不是字典。