Я хочу ввести словарный словарь для строковых ключей и значений объектов/структур, которые реализуют Equatable protocol. Поэтому я написал эту строку кода, но это дало мне ошибку, что я не знал, как продолжить исправление.Словарь Swift - Typealias со значением, реализующим общий протокол
typealias Storage = [String: Equatable]
Я хочу использовать тип [String: Equatable] в качестве переменной в протоколе, например:
protocol StorageModel {
var storage: Storage { get set }
init(storage: Storage)
}
Ошибка:
Protocol 'Equatable' can only be used as a generic constraint because it has Self or associated type requirements
Может кто-нибудь предложить решение ?
Как я могу достичь этого другими словами? –
Из-за того, что Equalable определен, я не думаю, что вы можете без определения своего собственного протокола, который очень похож на Equatable, и даже тогда я думаю, что вы столкнетесь с той же проблемой. Лучше всего определить новый протокол, который определяет метод equals и использовать его. –
Я только что обновил вопрос, не могли бы вы помочь мне с тем, как я мог обходным путем? –