Этот код из новой книги от Apple. Мой вопрос: «Как получилось» let RoomCount = john.residence? .NumberOfRooms »- это нуль, я думал, что .numberOfRooms должно быть 1, но в xcode он говорит, что nil я просто не понимаю, почему это nil. Если кто-нибудь может разъяснить мне это, это было бы потрясающе. Заранее спасибо.Swift Дополнительная цепочка
class Person {
var residence: Residence?
}
class Residence {
var numberOfRooms = 1
}
let john = Person()
let roomCount = john.residence?.numberOfRooms
john.residence = Residence()
john.residence?.numberOfRooms
if let roomCount = john.residence?.numberOfRooms {
print("John's residence has \(roomCount) room(s).")
} else {
print("Unable to retrieve the number of rooms.")
}
Спасибо за ваш ответ. Но как получилось, когда я набираю «let roomCount = john.residence? .NumberOfRooms» У меня есть доступ к .numberOfRooms, а не к присваиваемому мне значению 1. Извините, я смущен. Я просто не понимаю. – iloveios
потому что 'numberOfRooms' является свойством класса 'Residence', поэтому вы можете получить к нему доступ с' .' –
Да, но это свойство имеет значение 1, и я просто не понимаю, почему nil, когда это свойство имеет значение 1. – iloveios