我正在研究Objective-C,我偶然发现了这个“for ... in”的声明。我搜索它但我仍然没有得到它的工作原理。有人可以用noob友好的方式向我解释这个陈述是如何起作用的吗?
答案 0 :(得分:58)
见fast enumeration documentation。
基本上你通常都有一个数组,你可以用一个方便的循环来获取数组中的每个项目,而不是使用NSEnumerator或整数计数变量。它使您的代码更清晰,可以在您的数组中请求每个NSString,而不是必须使用objectAtIndex
为循环的每次传递分配一个变量。
比较
for (NSString *string in myArray)
{
// do stuff...
}
要:
for (int i = 0; i < [myArray count]; i++)
{
NSString *string = [myArray objectAtIndex:i];
// Do stuff...
}