I am a beginner at Objective-C and I am a bit confused at this scenario. I have the following code:
if (number1 < number2) { NSLog(@"THE FOLLOWING NUMBER "); NSLog(@"%@", number1); NSLog(@"IS LESS THAN"); NSLog(@"%@", number2); }
When I run this code I see really strange results like this:
2011-07-06 20:38:18.044 helloworld[1014:207] THE FOLLOWING NUMBER 2011-07-06 20:38:18.047 helloworld[1014:207] 190.8776 2011-07-06 20:38:18.050 helloworld[1014:207] IS LESS THAN 2011-07-06 20:38:18.053 helloworld[1014:207] 96.75866
Both numbers are NSNumber objects, how could something like this happen? I am getting the two numbers by finding distances between sprites on the screen.
Any clues or advice would really be appreciated
I assume number1 and number2 are pointers to objects. The < sign is comparing the pointers.
You need to compare the actual floatValue or doubleValue
if ([number1 doubleValue] < [number2 doubleValue])
....
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With