比较一个NSArray中的两个项目

时间:2013-05-15 19:34:35

标签: objective-c arrays cocoa comparison nsarray

我有一个包含20个项目的数组。我想搜索数组,将一个项目与数组中的下一个项目进行比较,然后打印较大的项目。我已经对数组进行了排序。我只想比较这两个项目,检查两个值之间的余数,如果它大于四个,则打印较大的项目。

2 个答案:

答案 0 :(得分:0)

NSArray* arr = [NSArray arrayWithObjects:
    [NSNumber numberWithInt:1],
    [NSNumber numberWithInt:6],
    [NSNumber numberWithInt:7],
    [NSNumber numberWithInt:11],
    nil
];

int len = [arr count];

for (int i=0; i < len-1; ++i) {

    int num1 = [[arr objectAtIndex:i] intValue];
    int num2 = [[arr objectAtIndex:i+1] intValue];

    if ( num2-num1 > 4 ) {
        NSLog(@"%d", num2);
    }
}

 --output:--
    6

答案 1 :(得分:0)

NSEnumerator *itemEnumerator = [theArray objectEnumerator];
YourClass *lastObject = [itemEnumerator nextObject];
YourClass *compareObject;
while( (compareObject = [itemEnumerator nextObject]) != nil)
{
  if( /* place your condition here */ )
  {
     NSLog( … );
  }
  lastObject = compareObject;
}

在Safari中输入