2015-11-30 5 views
5

Ich versuche zu versuchen, einen Typ basierend auf einer Variablen zu werfen. Das folgende Beispiel nicht „Verwendung von nicht deklarierten Typ‚myType‘“ sagteWie Sie schnell einwirken mit einer Variablen für den Typ

protocol Parent {} 
protocol Child: Parent {} 

struct Foo: Child {} 

let foo: Parent = Foo() 

let myType = Child.self 

if let _ = foo as? myType { 
    print("success") 
} 

Gibt es eine Möglichkeit auf der Grundlage der variablen myType zu werfen?

Antwort

1

Nachdenken, Casting ist nicht die richtige Frage hier zu stellen. Hier überprüfe ich nur die Konformität. Dynamisches Casting wäre nutzlos, da der statische Analysator nicht wissen kann, was er tun soll, wenn er auf einem variablen Typ basiert.

Verwandte Themen