Avatar ·

Was ist null/nil in Swift und wie arbeitet man damit?

Hallo zusammen! Ich lerne Swift und bin auf das Konzept von null/nil gestoßen. In anderen Sprachen (z. B. Java, C#) bin ich an null-Referenzen und NullPointerException gewöhnt. Aber in Swift ist nil, wie ich verstanden habe, kein Zeiger, sondern das Fehlen eines Werts für optionale Typen (Optional).

Ich habe ein einfaches Beispiel: Ich versuche, den Benutzernamen aus einem Dictionary zu holen, aber wenn der Schlüssel fehlt, stürzt die App ab.

let user: [String: Any] = ["name": "Alice"]\nlet name = user["age"] as! String // crash, wenn der Schlüssel fehlt\nprint(name)

Ich habe if let und guard let ausprobiert, verstehe aber nicht ganz, wie man nil in verschiedenen Situationen richtig behandelt. Zum Beispiel:

  • Was ist der Unterschied zwischen Optional und forced unwrapping?
  • Wann sollte man ?? (nil-coalescing) anstelle von if let verwenden?
  • Kann eine normale