Wozu braucht man Implicitly Unwrapped Optionals, wenn wir sowieso sicher sind, dass ein Wert vorhanden ist?
Hallo zusammen! Ich habe gerade angefangen, Swift zu lernen, und eine Frage quält mich. Ich lese die Dokumentation und bin auf so etwas wie Implicitly Unwrapped Optionals (IUO) gestoßen. Sie werden mit einem Ausrufezeichen deklariert, zum Beispiel:
```swift
var name: String! = "Alice"
```
Ich verstehe, dass dies ein Optional ist, das automatisch entpackt wird, wenn darauf zugegriffen wird, ohne dass man `if let` oder `guard let` schreiben muss. Aber was ich nicht verstehe: Wozu braucht man diesen Typ überhaupt? Wenn wir sicher sind, dass ein Wert vorhanden ist (worauf das Ausrufezeichen ja hindeutet), warum dann nicht einfach einen normalen non-optional Typ verwenden, wie `String`? Was ist der Unterschied?
Ich habe gehört, dass IUO oft in UIKit-Eigenschaften verwendet werden, besonders in Storyboards, zum Beispiel:
```swift
@IBOutlet weak v