iOS - Warum funktioniert es, wenn ich zwei NSNumbers mit "==" vergleiche?
In meiner App habe ich versehentlich "==" verwendet, als ich zwei @ verglichen habNSNumber
Objekte wie folgt:
NSNumber *number1;
NSNumber *number2;
päter, nach diesen Objekten 'int
Werte wurden gesetzt, ich habe das versehentlich gemacht:
if (number1 == number2) {
NSLog(@"THEY'RE EQUAL");
}
Und verwirrenderweise hat es funktioniert! Ich hätte schwören können, dass mir das so beigebracht wurde:
if (number1.intValue == number2.intValue) {
NSLog(@"THEY'RE EQUAL");
}
Wie wurde "==" zwischen den beiden @ verwendeNSNumber
Objekte funktionieren und warum? Bedeutet das, dass es in Ordnung ist, sie auf diese Weise zu vergleichen, oder war es nur ein Zufall, und es ist im Allgemeinen nicht garantiert, dass dies jedes Mal funktioniert? Es hat mich wirklich verwirrt: