我是swift的新手。我一直在为Dictionary创建扩展。 我的扩展名是:
extension Dictionary {
var JSONString: String {
var error: NSError?
var jsonData: NSData? = NSJSONSerialization.dataWithJSONObject(self, options: NSJSONWritingOptions.PrettyPrinted, error: &error)
if error == nil {
return NSString(data: jsonData!, encoding: NSUTF8StringEncoding) as! String
}
return ""
}
}
我收到错误消息
无法使用类型'的参数调用'dataWithJSONObject'(字典,选项:NSJSONWritingOptions,错误:inout NSError?)'
有人可以帮我解决这个问题吗?
答案 0 :(得分:1)
我刚刚找到了一个解决方案并理解了我的错误。 正确的代码是
extension Dictionary {
var JSONString: String {
var error: NSError?
var dictionary: [String: AnyObject] = [:]
for (key, value) in self {
dictionary["\(key)"] = "\(value)"
}
var jsonData: NSData = NSJSONSerialization.dataWithJSONObject(dictionary, options: NSJSONWritingOptions.PrettyPrinted, error: &error)!
if error == nil {
return NSString(data: jsonData, encoding: NSUTF8StringEncoding)! as String
}
return ""
}
}
谢谢大家