in for循环中的语句

时间:2011-03-28 11:46:09

标签: objective-c cocoa objective-c++

我有一个for循环状态,如下:

    for(NSString* name in nameArray)

nameArray是NSArray。

在上面的语句中,它对于nameArray中的NSString * name是什么意思

3 个答案:

答案 0 :(得分:3)

遍历nameArray中的所有NSString *。 写得不那么干净:

for (int i=0;i<[nameArray count];++i) {
    NSString *name = [nameArray objectAtIndex:i];
    // Do stuff
}

请记住:不要迭代一个可变数组并改变它(并确保没有其他线程可以)。在这种情况下,您需要在每次迭代时调用count,如上所示。

答案 1 :(得分:1)

这是Objective-C 2.0中引入的快速枚举语法。查看this教程了解详细信息。您还可以通过谷歌“客观c快速枚举”获取在线提供的许多其他资源。

答案 2 :(得分:0)

这意味着将对nameArray中的每个对象执行括号内的代码,您将通过NSString *name变量访问该对象。