Desidero digitare typealias un dizionario di chiavi String e valori di oggetti/strutture che implementano il protocollo Equatable. Così ho scritto questa riga di codice, ma mi ha dato errore che non sapevo come andare a risolvere.Swift - Dizionario Typealias con valore che implementa un protocollo generico
typealias Storage = [String: Equatable]
voglio utilizzare il tipo [String: equatable] come variabile in un protocollo, ad esempio:
protocol StorageModel {
var storage: Storage { get set }
init(storage: Storage)
}
Errore:
Protocol 'Equatable' can only be used as a generic constraint because it has Self or associated type requirements
Qualcuno può suggerire una soluzione ?
Come dovrei ottenere questo in altre parole? –
A causa di come è definito Equitable, non penso che sia possibile senza definire il proprio protocollo che assomigli molto a Equitable, e anche allora penso che incontrerai lo stesso problema. La soluzione migliore potrebbe essere quella di definire un nuovo protocollo che definisca un metodo equals e utilizzarlo. –
Ho appena aggiornato la domanda, potresti aiutarmi con come posso risolvere il problema? –