Wenn Sie in Swift wirken und diesen Wert verwenden, verwenden Sie "as?", Machen Sie es zu einem "optionalen" Typ und beziehen Sie sich auf diesen "optionalen" Typ Ich denke, Sie rufen den Wert häufig mit "Optionale Bindung" ab.
let a: Any = 120
if let b = a as? Int {
//Verarbeitung mit b
}
In diesem Fall ist der Fluss jedoch etwas kompliziert, da er einmal "Optional" durchläuft.
Es gibt noch einen anderen Weg, es zu schreiben.
let a: Any = 120
if case let b as Int = a {
//Verarbeitung mit b
}
Mit dieser Funktion können Sie sicher wirken, ohne Optional durchlaufen zu müssen.
Geschwindigkeit beim 10.000-fachen Laufen
as? |
case |
---|---|
0.011s | 0.001s |
Es gibt einen Unterschied von ungefähr 10 mal.
Die Swift Standart Library verwendet auch häufiger "case".
Zitiert aus dem Inhalt von Swift.print
![Screenshot 2020-10-12 18.00.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/117659/d90e5b26-0aa2-42af-f6f4 -6bd5ff9d8025.png) https://github.com/apple/swift/blob/9af806e8fd93df3499b1811deae7729176879cb0/stdlib/public/core/OutputStream.swift#L375