iOS - почему это работает, когда я сравниваю два номера NSN с «==»?
В моем приложении я случайно использовал "==" при сравнении двухNSNumber
объекты вроде так:
NSNumber *number1;
NSNumber *number2;
Позже, после этих объектовint
значения были установлены, я случайно сделал это:
if (number1 == number2) {
NSLog(@"THEY'RE EQUAL");
}
И, смущающе, это сработало! Я мог бы поклясться, что меня учили так:
if (number1.intValue == number2.intValue) {
NSLog(@"THEY'RE EQUAL");
}
Как с помощью "==" между двумяNSNumber
объекты работают, а почему? Означает ли это, что можно сравнивать их таким образом, или это просто случайность, и, как правило, это не гарантируется каждый раз? Это действительно смутило меня :(