Swift === mit null

Warum funktioniert das folgende nicht in Swift?

if someObject === nil {
}

Ihnen zu tun haben, der test mit dem = = - operator, wie

if someObject == nil {
}

Ich dachte, dass === war mehr wie sicher, dass die Fälle, in denen die exakt gleichen (im Grunde vergleicht man die Zeiger) und == war mehr wie ein isEqual überprüfen. Also ich würde denken === wäre besser geeignet für die Prüfung gegen null, aber ich bin offensichtlich falsch.

Gibt die Dokumentation:

=== oder "Identisch" bedeutet, dass zwei Konstanten oder Variablen der Klasse geben
finden Sie genau das gleiche Instanz der Klasse.

== oder "Gleich" bedeutet, dass zwei Instanzen werden als "gleich" oder "äquivalent"
im Wert, für einige passende Bedeutung von "gleich", wie definiert durch die Art der designer."

  • Das folgende funktioniert bei mir class Person {} let p = Person() let q : Person? = nil println(p === nil) println(q === nil)
  • Das Objekt hätte einen Wert von null nicht auf genau das gleiche Objekt wie der null, die ist, was === bedeutet.
Schreibe einen Kommentar