J'ai le code ci-dessous et cela fonctionne très bien, mais je m'attendais à la ligne print(john.residence!.numberOfRooms)
se bloquer, comme ma variable numberOfRooms
a nil
valeur et je n'utilise pas forcé wrapping lors du passage de sa valeur en argument à print()
. Quelqu'un peut-il s'il vous plaît expliquer pourquoi cela ne déclenche pas une erreur d'exécution et l'impression nil
en toute sécurité à la place?L'impression sans propriété force-déballer ne déclenche pas d'erreur d'exécution dans Swift
class Person {
var residence: Residence?
}
class Residence {
var numberOfRooms: Int?
}
let john = Person()
john.residence = Residence()
print(john.residence!.numberOfRooms)
Max. Juste pour effacer les choses, vous n'êtes pas forcer déballer sur une valeur nulle. Vous forcez le déballage sur john.residence et il a une valeur. – BangOperator