Расширение до ограниченного словаря, соответствующего протоколу
Я пытаюсь создать протокол, который позволяет создавать экземпляры любого объекта с использованием 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 является структурой, но все равно она не работает.