Wie vermeide ich die Verwendung der! Eine Operation, die eine Kraftentpackung ausführt, ist normalerweise eine schlechte Option.Wie vermeidet man das Auspacken einer Variablen?
Was ist die bessere Option mit Code wie der folgenden, wo die Verwendung macht es den Code einfacher aussehen und wegen der Überprüfung der Variablen! Angerufen wird nie Null und so kann nicht abstürzen.
Mein Kursleiter stellte uns dem (!) Operator vor und forderte uns auf, ihn nie wieder zu benutzen. Uns sagen, warum natürlich, dass es unsere App zum Absturz bringen wird, wenn das optionale NULL ist.
Allerdings finde ich mich in Situationen wie diesen, in denen der Knall-Operator die prägnanteste und sicherste Option zu sein scheint.
func fullName() -> String {
if middleName == nil {
return "\(firstName) \(lastName)"
}else{
return "\(firstName) \(middleName!) \(lastName)"
}
}
Gibt es eine bessere Möglichkeit, so etwas zu tun?
Auch hier ist die ganze Klasse, wenn sich jemand fragt.
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)"
}
}
}
Mein Lehrer sagte O_O
Bitte bearbeiten Sie, um beide Versionen des Codes - mit und ohne "bang" –