Dato:Come definire una matrice di oggetti conformi a un protocollo?
protocol MyProtocol {
typealias T
var abc: T { get }
}
E una classe che implementa MyProtocol:
class XYZ: MyProtocol {
typealias T = SomeObject
var abc: T { /* Implementation */ }
}
Come posso definire un array di oggetti conformi alle MyProtocol
?
var list = [MyProtocol]()
esprime (insieme con una tonnellata di SourceKit blocca) il seguente errore:
Protocol 'MyProtocol' can only be used as a generic constraint because it has Self or associated type requirements
Anche se il typealias è infatti definito in MyProtocol
.
C'è un modo per avere un elenco di oggetti conforme a un protocollo E con un vincolo generico?
possibile duplicato di [Utilizzo di protocolli come tipi di array e parametri di funzione in swift] (http://stackoverflow.com/questions/24888560/usage-of-protocols-as-array-types-and-function-parameters- in-swift) – Paulw11
@ Paulw11 Il mio male, ho completamente perso quella. – erudel