【发布时间】:2018-08-02 21:08:09
【问题描述】:
我正在尝试使用以下代码扩展字典:
extension Dictionary where Key: ExpressibleByStringLiteral, Value: AnyObject {
var jsonString: String? {
if let dict = (self as AnyObject) as? Dictionary<String, AnyObject> {
do {
let data = try JSONSerialization.data(withJSONObject: dict, options: JSONSerialization.WritingOptions(rawValue: UInt.allZeros))
if let string = String(data: data, encoding: String.Encoding.utf8) {
return string
}
} catch {
print(error)
}
}
return nil
}
}
我在哪里写类似的东西:
let x: [String: String] = ["": ""]
x.jsonString
我收到此错误:
Value of type '[String: String]' as no member 'jsonString'
我缺少什么吗?
【问题讨论】:
-
String是值类型,不符合AnyObject。尝试改用Any。 -
其中键:ExpressibleByStringLiteral,值:任意{
-
抱歉,没有任何效果...
标签: swift dictionary swift4 swift-extensions