iOS - Por que funciona quando eu comparo dois NSNumbers com "=="?
No meu aplicativo, usei acidentalmente "==" ao comparar doisNSNumber
objetos assim:
NSNumber *number1;
NSNumber *number2;
Mais tarde, depois desses objetos 'int
valores foram definidos, eu acidentalmente fiz isso:
if (number1 == number2) {
NSLog(@"THEY'RE EQUAL");
}
E, confuso, funcionou! Eu poderia jurar que me ensinaram a fazê-lo desta maneira:
if (number1.intValue == number2.intValue) {
NSLog(@"THEY'RE EQUAL");
}
Como o uso de "==" entre os doisNSNumber
objetos funcionam e por quê? Isso significa que não há problema em compará-los dessa maneira, ou foi apenas um acaso e isso geralmente não é garantido que funcione sempre? Realmente me confundiu :(