在objective-C中,如何使用foreach循环遍历NSMutableArray中的索引(键)和对象

在objective-C中,如何使用foreach循环遍历NSMutableArray中的索引(键)和对象,objective-c,arrays,nsmutablearray,nsmutabledictionary,Objective C,Arrays,Nsmutablearray,Nsmutabledictionary,使用“foreach”循环,可以像遍历PHP中的关联数组一样遍历NSMutableArray吗?我想在每个循环过程中获得“键”和“值”。我有一个NSMutableArray,我想将它用作关联数组,以遍历它并以与在PHP中更改关联数组相同的方式进行更改。这是可能的,还是我必须使用一些更复杂的结构,如NSMutableDictionary?为此目的?如果要使用NSMutableArray,则可以使用以下代码在访问索引和对象时遍历数组: NSMutableArray *someArray = ...;

使用“foreach”循环,可以像遍历PHP中的关联数组一样遍历NSMutableArray吗?我想在每个循环过程中获得“键”和“值”。我有一个NSMutableArray,我想将它用作关联数组,以遍历它并以与在PHP中更改关联数组相同的方式进行更改。这是可能的,还是我必须使用一些更复杂的结构,如NSMutableDictionary?为此目的?

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

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

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

您能给出一个具体的例子吗?听起来你想误用数组,但这并不清楚。我想使用类似for(self.items中的NSNumber*obj){}的东西,然后在每个循环过程中获取键和对象。数组中没有键。有一个索引。键和数组?你是从PHP来的吗?如果我想要什么行为,对不起?无论如何,我认为你给出的第一个解决方案对我来说更好,因为它不那么复杂。谢谢你的帮助@VladimirDespotovic,如果您希望在“数组”中有自定义键,例如字符串或数字,如ID,它们不会从0开始依次递增。在PHP中,这没有什么区别,但在Objective-C中,您只能使用索引从0向上且没有间隙的
NSArray
。谢谢。请自由地提出我的问题和我的意见,因为我不认为这是一个无用的问题(与其他人相反,认为这是一个否定的问题,给了我一个下注,因为我不知道的原因……)问题是,我不想在两者之间有这些差距。我很惊讶数组结构在C中不允许这样做,因为我不需要结构元素的cannonic键,只需要索引就可以了。钥匙是一根绳子对我来说太难了,我不需要它。你的解决方案确实部分解决了我的问题,这是真的。
NSMutableArray *someArray = ...;
[someArray enumerateObjectsUsingBlock:^(NSNumber* object, NSUInteger index, BOOL *stop) {
    ...
}];