Быстрая струна против струны! против строки?
я прочиталэтот вопрос и некоторые другие вопросы. Но они не имеют никакого отношения кмой вопрос
ЗаUILabel
если вы не укажете?
или же!
вы получите такую ошибку:
Свойство @IBOutlet имеет необязательный тип 'UILabel'
Что тогда Xcode дает вам2 выбор, чтобы исправить это, вы можете сделать:
исправить это добавить? сформировать необязательный тип UIlabel?
исправить это добавить! сформировать неявно развернутый необязательный тип UIlabel?
Однако для строки вы можете просто набратьstring
без?
или же!
и вы не получите ошибкуэто почему?
Что произойдет, еслиname
не установлен? Тогда у нас будетnil
не использует?
, !
а такжестриж все о том, чтобы удовлетворить «безопасность типов»?
Пример:
struct PancakeHouse {
let name: String // this doesn't have '?' nor '!'
let photo: UIImage?
let location: CLLocationCoordinate2D?
let details: String
}
Моя главная путаница - это когда мы хотимне использовать опционально?