Ich habe den Code unten und es funktioniert gut, aber ich hatte erwartet, die Linie print(john.residence!.numberOfRooms)
zum Absturz zu bringen, wie mein numberOfRooms
Variable nil
Wert hat, und ich bin nicht gezwungen, unter Verwendung von Umbruch, wenn der Wert als Argument an print()
übergeben wird. Kann mir bitte jemand erklären, warum dies keinen Laufzeitfehler auslöst und stattdessen nil
sicher druckt?Drucke ohne Kraft-auspackt Eigenschaft lösen keine Laufzeitfehler in Swift
class Person {
var residence: Residence?
}
class Residence {
var numberOfRooms: Int?
}
let john = Person()
john.residence = Residence()
print(john.residence!.numberOfRooms)
max. Nur um Dinge zu klären, werden Sie nicht gezwungen, einen Nullwert auszupacken. Sie sind Kraft auf John.Residence auspacken und es hat einen Wert. – BangOperator