我正在尝试创建一个允许使用JSON NSData实例化任何对象的协议。
我正在尝试创建符合此协议的[String:String]字典的扩展名。不幸的是,由于某些原因,以下代码不起作用:
public protocol InitializableWithData {
init(data: NSData?) throws
}
extension Dictionary: InitializableWithData where Key: String, Value: String {
public init(data: NSData?) {
self.init()
// Parse NSData into a [String: String]
}
}
我收到以下错误:
Extension of type 'Dictionary' with constraints cannot have an inheritance clause
我也尝试过:
extension Dictionary: InitializableWithData where Key: NSString, Value: NSString {
public init(data: NSData?) {
self.init()
// Parse NSData into a [String: String]
}
}
鉴于String是一个结构,但它仍然不起作用。