使用NSInteger的for-in循环?

ten*_*dor 3 for-in-loop ios5

我有一个NSMutableArray填充NSIntegers.我需要遍历数组.我可以:

// given NSMutableArray *array of NSIntegers
NSUInteger n = [array count];
for (NSInteger i = 0; i < n; i++) {
  NSInteger x = [array objectAtIndex:i];
  // query SQLite WHERE id = x
}
Run Code Online (Sandbox Code Playgroud)

但是,似乎for(数组中的对象)循环会更清晰.iOS 5不接受NSIntegers或NSNumbers作为for-in循环中的对象.我应该使用NSObjects遍历数组,在每次迭代期间将NSObject强制转换为NSInteger吗?还有另外一种方法吗?或者是一个for循环,就像上面这个问题最干净的解决方案?

Jon*_*uin 7

在Objective-C中,您可以使用带有NSNumber的for-in循环,如下所示:

    NSArray *array = /*NSArray with NSNumber*/;

    for (NSNumber *n in array) {
        NSLog(@"i: %d", [n intValue]);
    }
Run Code Online (Sandbox Code Playgroud)

看一下这个.