在 Objective-C 中,我编写了如下代码:
NSError *error;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:someDictionary
options:0
error:&error];
我正在尝试在 Swift 中做同样的事情。在 Xcode 的语法检查提示下,我是这样写的:
var jsonError: NSError
let jsonData = NSJSONSerialization.dataWithJSONObject(someDictionary, options: NSJSONWritingOptions(), error: &jsonError)
但这给了我一个错误:“找不到接受提供的参数的
init
的重载。”我认为问题可能出在 NSJSONWritingOptions()
位上,我猜我只是 Swift 语法错误。我尝试用 NSJSONWritingOptions()
替换 NSJSONWritingOptions(0)
并得到相同的错误;我尝试用 nil
替换它(如 this answer 所建议的),但出现错误“无法找到接受提供的参数的 __conversion
的重载。”我如何表明我想要默认的 JSON 写入选项,无论这些选项是什么?
最佳答案
问题不在于 NSJSONWritingOptions;您传递的错误类型应该是 NSError?
,而不是 NSError
。
关于objective-c - 将 “no options” 传递给 NSJSONWritingOptions 类型的参数的语法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24099292/