ich eine Struktur in einem Viewcontroller habe, die ein paar nicht-optionale Mitglieder wie hat:Nicht optionale Werte in Swift-Struktur gibt optionale Werte
struct MyStruct {
let id: Int64!
let name: String!
func checkValues() -> Bool {
if id == nil || name == nil {
return false
} else {
print("id: \(id) name: \(name)"); return true
}
}
}
ich eine Instanz der Struktur in einem anderen VC erstellen (let temp = ViewController.MyStruct(id: 10, name: "Example")
) und übergeben Sie es an das, wo ich die Struktur über eine Segue erstellt habe. Wenn temp.checkValues()
Ausführung ich
id: Optional(10) name: Optional("Example")
Von meinem Verständnis von (Nicht-) optionals sollte ich nicht die Optional()
bekommen, da ich die Variablen mit !
erklärt. Habe ich falsch verstanden? Im Moment habe ich nur ein Ausrufezeichen gesetzt, wenn ich es benutze. Ich versuchte auch, init
in der Struktur zu verwenden, aber das änderte nichts. Da dies nicht so ist (wenn ich richtig liege) Ich fürchte, ich habe das Konzept nicht verstanden ... Bitte sag mir, was mit meinem Code/mir nicht stimmt.
Vielen Dank! Das macht Sinn ... Ich hatte den falschen Eindruck, dass ich beim Hinzufügen des '!' Sicherstellen würde, dass sie keine Optionals sein können ... – Michael