在objective-C中,如何使用foreach循环

时间:2016-09-15 11:42:35

标签: objective-c arrays nsmutablearray nsmutabledictionary

是否可以遍历NSMutableArray,就像遍历PHP中的关联数组一样,使用" foreach"环?我想得到"键"和"价值"在每个循环传递中。我有一个NSMutableArray,我想用它作为一个关联数组,遍历它并改变它,就像我在PHP中更改一个关联数组一样。这可能吗,还是我必须使用一些更复杂的结构,比如NSMutableDictionary?为此目的?

1 个答案:

答案 0 :(得分:1)

如果您想使用NSMutableArray,那么您可以在访问索引和对象时使用以下代码遍历数组:

NSMutableArray *someArray = ...;
for (NSUInteger index = 0; index < someArray.count; index++) {
    NSNumber *object = someArray[index]; // Assuming the array stores NSNumber*s
    ...
}

另一个选择是使用SDK提供的枚举块:

NSMutableArray *someArray = ...;
[someArray enumerateObjectsUsingBlock:^(NSNumber* object, NSUInteger index, BOOL *stop) {
    ...
}];

请记住,数组有索引而不是自定义键。索引必须从0开始,两者之间不能有任何差距。如果您想要这种行为,请使用NSMutableDictionary