kompilieren Wie kann ich niedergeschlagenen Array von AnyObject
Arrays auf Anordnung von String
Arrays?Swift - gesenkten Array von Arrays nicht
i den folgenden Code versucht:
let v1:[[AnyObject]] = [["hello"]] // v1 type is [[AnyObject]]
let v2 = v1 as! [[String]] // compile error!
aber dieser Code wird mit einem Fehler nicht kompilieren:
, wenn ich niedergeschlagenen Array von AnyObject
auf Anordnung von String
nur versuchen, es funktioniert gut:
let v1:[AnyObject] = ["hello"] // v1 type is [AnyObject]
let v2 = v1 as! [String] // v2 type is [String] as expected
danke matt, das löste den Compiler Fehler)) Weißt du, ob es Performance-Hit hat? Ist das ein vernünftiger Weg das Casting zu machen? – Eyal
Es macht genau das gleiche, was Gießen tut. Dein 'wie! [String] ist nichts anderes als eine Kurzschrift, ein bisschen syntaktischer Zucker; Die Laufzeit _must_ durchläuft das _whole_ Array, um jedes Element einzeln zu erzeugen. Das ist _exactly_ das gleiche, nicht mehr und nicht weniger. Der einzige Unterschied ist, dass wir keine magische Kurzschrift bekommen haben. – matt
10x das war sehr hilfreich – Eyal