Lors de la diffusion dans Swift et de l'utilisation de cette valeur, lancez avec ʻas? , Faites-en un type ʻOptional
et reliez-le à ce type ʻOptional Je pense que la valeur est souvent récupérée par ʻOptional Binding
.
let a: Any = 120
if let b = a as? Int {
//Traitement à l'aide de b
}
Cependant, dans ce cas, le flux est un peu compliqué car il passe une fois par ʻOptional`.
Il existe une autre façon de l'écrire.
let a: Any = 120
if case let b as Int = a {
//Traitement à l'aide de b
}
Avec cela, vous pouvez lancer en toute sécurité sans passer par Option.
Vitesse lors de l'exécution de 10000 fois
as? |
case |
---|---|
0.011s | 0.001s |
Il y a une différence d'environ 10 fois.
La bibliothèque Swift Standart utilise également case
plus souvent.
Extrait du contenu de Swift.print
 https://github.com/apple/swift/blob/9af806e8fd93df3499b1811deae7729176879cb0/stdlib/public/core/OutputStream.swift#L375