我有一段看似简单的代码,但却让我完全不知所措。
NSInteger ymax;
NSInteger ymin;
NSInteger numberIndex1;
NSInteger numberIndex2;
for (NSNumber *theNumber in array2)
{
if ([theNumber integerValue] > ymax) {
ymax = [theNumber integerValue];
numberIndex1 = [array2 indexOfObject:theNumber];
}
}
for (NSNumber *theNumber in array2)
{
if ([theNumber integerValue] < ymin) {
ymin = [theNumber integerValue];
numberIndex2 = [array2 indexOfObject:theNumber];
}
}
NSLog(@"Highest number: %d at index: %d", ymax, numberIndex1);
NSLog(@"Lowest number: %d at index: %d", ymin, numberIndex2);
NSLog输出为:
最高数字:129171656,索引为:-1073752392(嗯??)
最低数字:57,索引为:5(正确)
如何解释这种奇怪的行为?这两个函数看起来一样。一个能工作,而另一个不能?我已经尝试过很多方法,但仍然无法找到原因。任何帮助都将不胜感激。
array1
或者array2
的条目吗? - Srikar AppalarajuNSInteger ymin = [array2 indexOfObject:0];
我得到的结果也是一样的。 - geekchicarray is ( 327, 95, 491, 95, 285, 57, 490, 345, 289, 175, 481, 346 )
- geekchic