In Objective-C v'è un modo per dichiarare un conforme variabile a una classe e un insieme di protocolli simili:Swift: proprietà Array con elementi conformi ad una classe e protocolli multipli simultaneamente
BaseClass<Protocol1, Protocol2> *variable = ...
In Swift Vorrei dichiarare un array (in realtà come una proprietà di una classe) con elementi di un tipo definito da questo modello.
In this question esiste una soluzione per descrivere il tipo di una proprietà autonoma rendendo la classe generica e vincolando il tipo di conseguenza. Per istanziare una classe di questo tipo sarebbe necessario specificare il tipo esatto. Questo non è un problema per una proprietà standalone, ma in un array dovrebbe essere possibile memorizzare elementi con tipi esatti diversi.
C'è un modo per esprimere questo in Swift?
Non sono sicuro se ho capito bene, ma se gli elementi dell'array sono tutti dello stesso tipo, usare '[]()' per istanziarlo. –
@ThomasKilian No, non lo sono. Questo è esattamente il punto. –
@LukasKubanek è richiesto, che solo gli oggetti conformi a questi protocolli sono memorizzati nell'array? –