2017-12-22 2 views
1

ich eine Reihe von Aufzählungen haben, zum Beispiel:Iterate durch Anordnung von jeder Art

let arr: [Any] = [Components.self, Periphery.self] 

Nach Iteration über das ich so etwas wie dies will:

for element in arr { 
    let something = element.someSpecificProperty 
} 

Wahrscheinlich brauche ich einige Funktion des kann mir einen bestimmten Typ zurückgeben. Wenn ich

schreiben

"element.something"

, genau in diesem Moment muss ich eine Art dieses Elements kennen. Wie kann ich das erreichen?

+0

wenn als etwas = Element lassen? ClassOfElement {} – koropok

+0

Schließlich habe ich ein Protokoll erstellt und alle meine Klasse zu diesem Protokoll bestätigt, und dann kann ich alles was ich will bekommen. –

Antwort

0

Ich bin nicht sicher, wollen Sie wollen, aber das funktioniert:

let arr: [Any] = [UIView.self, URL.self] 
for element in arr { 
    let something = (element as? AnyObject)! 
    print("\(type(of:something.self))") 
} 
+0

Ich möchte einen bestimmten Typ bekommen. Du bist auf irgendeinen Typ downcast, aber ich brauche ein bestimmtes! –