字典的Swift扩展。错误'无法调用' dataWithJSONObject'

时间:2015-05-07 18:37:16

标签: ios swift dictionary compiler-errors

我是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?)'

有人可以帮我解决这个问题吗?

1 个答案:

答案 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 ""
}

}

谢谢大家