Was in Swift ist der Unterschied zwischen Optional? und!?

...komplette Frage anzeigen

1 Antwort

In beiden Fällen handelt es sich um Optionals. Es gibt:

  • normal optional (?)
  • implicit unwrapped optional (!)

Ersterer packt den Wert, auf den eine Variable zeigt, in ein Objekt, welches den Wert verwaltet. Um an den Wert zu kommen, muss er erst extrahiert werden:

var word: String? = "Hello"
var anotherWord: String = word!

Andersrum ist es möglich, auszudrücken, dass ein Optional stets den Wert bereits extrahiert zurückgibt oder nil.

var word: String
var anotherWord: String! = "Hello"
word = anotherWord

Was möchtest Du wissen?