Расширение до ограниченного словаря, соответствующего протоколу

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

0 ответов

Другие вопросы по тегам