我有一个看起来很简单的代码,让我完全失望。NSMutableArray的最小值和最大值
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(正确)
你如何解释这种奇怪的行为?这两个功能看起来都一样。一个在工作,一个不在?我在这方面玩过很多,但我仍然无法控制它。任何帮助将不胜感激/
你初始化了NSIntegers吗? – Raspu
按照上面的代码中所述初始化它。 – geekchic
数组中的数字有多大? – Woodstock