2014-06-04 7 views
10

Ich kann scheinbar keine Funktion oder Methode finden, die den Typ eines Objekts in Swift zurückgibt.Wie rufen Sie den Typ eines Objekts in Swift ab?

Wie ruft man den Typ oder die Klasse eines Objekts in Swift ab?

Ich versuchte mit Obj-C-Klassen, die offensichtlich nicht funktioniert haben.

In Python haben Sie Dinge wie type oder isinstance

In Javascript Sie haben constructor

Antwort

10

Wenn Sie nur ein Objekt der Art müssen überprüfen, können Sie verwenden, um die Typprüfung Operator, is, wie in :

if myObject is UIView { 
    // do something 
} 

Wenn Sie versuchen mögen, auf der Aufgabe, ein Verfahren zu nennen, aber Sie sind von der Klasse nicht sicher, niedergeschlagenen das Objekt in den Typ, den Sie benötigen, wie folgt aus:

if let myView = myObject as? UIView { 
    myView.layer.backgroundColor = myColor 
} 
-1

Suchen Sie dynamicType?

someInstance.dynamicType.printClassName() 
+7

'printClassName()' ist nicht Teil von Swift. Es stammt aus dem Beispielcode der Swift-Dokumentation. – nschum

Verwandte Themen