Objective c 目标C中的…声明
我正在学习Objective-C,我遇到了这个“for…in”语句。我搜索了一下,但还是不知道它是怎么工作的。有人能用一种友好的语言向我解释一下这句话是怎么说的吗 通常,基本上你会有一个数组,你可以通过一个方便的循环来获取数组中的每一项,而不是使用N分子或整数计数变量。请求数组中的每个NSString,而不必为循环的每个过程使用Objective c 目标C中的…声明,objective-c,for-in-loop,Objective C,For In Loop,我正在学习Objective-C,我遇到了这个“for…in”语句。我搜索了一下,但还是不知道它是怎么工作的。有人能用一种友好的语言向我解释一下这句话是怎么说的吗 通常,基本上你会有一个数组,你可以通过一个方便的循环来获取数组中的每一项,而不是使用N分子或整数计数变量。请求数组中的每个NSString,而不必为循环的每个过程使用objectAtIndex将其分配给变量,这会使代码更加清晰 比较: for (NSString *string in myArray) { // do stuf
objectAtIndex
将其分配给变量,这会使代码更加清晰
比较:
for (NSString *string in myArray)
{
// do stuff...
}
致:
for(int i=0;i<[myArray count];i++)
{
NSString*string=[myArray objectAtIndex:i];
//做些事情。。。
}
你指的是幕后,或者你如何使用它?如果你搜索“快速枚举目标c”,你可以找到很多东西。除了更干净,它也更快。这也被称为“快速枚举”是有原因的。更快、更安全、更有趣。。。好的,也许不是最后一个。非常感谢!但我仍然不明白“字符串”部分的特殊功能是什么。如果数组中除了字符串之外还有其他对象,这将如何工作?它仍然会枚举所有对象,还是会跳过非字符串的内容?如果您认为数组可能包含多种类型的对象,可以将类型设置为id,并在循环中检查它的类。谢谢jrturton,我想我现在就知道了:)
for (int i = 0; i < [myArray count]; i++)
{
NSString *string = [myArray objectAtIndex:i];
// Do stuff...
}