以下のコードがあり、正常に動作しますが、変数に値があり、その値を に引数として渡すときに強制ラッピングを使用していないため、行print(john.residence!.numberOfRooms)
がクラッシュすることを期待していました。これが実行時エラーをトリガーせず、代わりに安全に印刷されない理由を誰でも説明できますか?numberOfRooms
nil
print()
nil
class Person {
var residence: Residence?
}
class Residence {
var numberOfRooms: Int?
}
let john = Person()
john.residence = Residence()
print(john.residence!.numberOfRooms)