Puoi trasmettere a un tipo di metatype in Swift? Sembra davvero che dovresti essere in grado di (dopotutto puoi istanziare oggetti da Metatypes).Trasmetti un tipo di metatype in Swift?
Quanto segue non funziona:
class Super {}
class A : Super {}
let superA:Super = A()
let subType = superA.dynamicType
let afterCast = superA as subType
//Compiler error: "use of undeclared type 'subType'"
Qualcuno sa il modo giusto per fare questo?
Edit:
Come newacct sottolineato, il risultato di .dynamicType è, ovviamente, non sa fino a runtime, per cui un cast in fase di compilazione per il risultato di .dynamicType non avrebbe senso.
Quindi la risposta è: "Non puoi" (e non ci sono buoni motivi per provare).
Immagino che tu non possa farlo. Il 'let' crea un'istanza, non un tipo. –
Scusa, quale "let'? Vuoi dire 'let subType = superA.dynamicType' crea un'istanza? Quindi non c'è modo di accedere al tipo stesso (in realtà l'istanziazione di un metatipo)? – thekwiat
Puoi approfondire come sarebbe utile? – newacct