Как мне избежать использования! операция, выполняющая разворот силы, поскольку использование этого обычно является плохим вариантом.
Каков наилучший вариант с кодом, например следующим, где его использование делает код более простым и из-за проверки переменной! вызывается никогда не будет nil и поэтому не может сбой.
Мой инструктор познакомил нас с оператором (!), а затем сказал нам, чтобы он никогда не использовал его снова. Рассказывая нам, почему, конечно, это приведет к сбою нашего приложения, если необязательный параметр равен нулю.
Однако я нахожусь в таких ситуациях, когда оператор взлома кажется самым кратким и безопасным вариантом.
func fullName() -> String {
if middleName == nil {
return "\(firstName) \(lastName)"
}else{
return "\(firstName) \(middleName!) \(lastName)"
}
}
Есть ли лучший способ сделать что-то вроде этого?
Кроме того, здесь полный класс, если кто-то задается вопросом.
class CPerson{
var firstName: String
var middleName: String?
var lastName: String
init(firstName: String, middleName: String?, lastName: String) {
self.firstName = firstName
self.middleName = middleName
self.lastName = lastName
}
convenience init(firstName: String, lastName: String) {
self.init(firstName: firstName, middleName: nil, lastName: lastName)
}
func fullName() -> String {
if middleName == nil {
return "\(firstName) \(lastName)"
}else{
return "\(firstName) \(middleName!) \(lastName)"
}
}
}
Мой преподаватель сказал: "Если я увижу, что вы используете оператора" Бэнг ", мы будем сражаться с" O_O