2017-06-06 7 views
1

Ist es möglich, ein Objekt auf einen Typ zu werfen, der in einer Member-Variable gespeichert ist?Typ Casting mit Typ Variable

ich das versucht habe:

let targetClass = type(of: MyTargetClass) 
... 

if anyObject is targetClass { // ERROR: use of undeclared type 'targetClass' 
let test = anyObject as! targetClass // ERROR: use of undeclared type 'targetClass' 
} 

Aber es funktioniert nicht, weil sie sagt: „Verwendung von Schwarz Typ‚target‘“

Antwort

0

Nein, der Typ Cast ist eine Kompilierung Sache. Es informiert den Compiler, welche Methoden verfügbar sind und wie die Verknüpfung durchgeführt werden kann.

Sie können Mirror verwenden, um Informationen über Ihr Objekt zur Laufzeit zu sammeln, aber es sieht so aus, als ob das dynamische Aufrufen von Methoden nur für Klassen ausgeführt werden kann, die von NSObject abgeleitet sind.