Ich bin frustriert darüber, wie Swift mit der Gleichheit umgeht. Oder ich vermisse gerade etwas. Wie kommt es, dass diese 2 indexOf
funktioniert nicht auf die gleiche Weise?Swift indexOf, == Operatorüberschreibung wird nicht aufgerufen
let first = self.objects.indexOf(object) //This returns nil
let second = self.objects.indexOf{$0 == object} //This returns the index
Meine == Überschreibung:
func ==(lhs: MyObject, rhs: MyObject) -> Bool {
return lhs.someProperty == rhs.someProperty
}
Die == Überschreibung nicht in der ersten indexOf aufgerufen. Warum ist das so? Das fühlt sich sehr gefährlich an.
(MyObject ist eine Unterklasse von PFObject (Parse.com Objekte). Ich weiß nicht, ob dies ist, was diese nach oben ist in Unordnung.)
Ist 'self.object' ein' [MyObject] 'oder etwas anderes (wie ein' [ParentOfMyObject] ') – zneak