For...in 语句 Objective-C

Posted

技术标签:

【中文标题】For...in 语句 Objective-C【英文标题】:For...in statement Objective-C 【发布时间】:2011-11-20 13:12:47 【问题描述】:

我正在学习 Objective-C,我遇到了这个“for...in”语句。我搜索了它,但我仍然不明白它是如何工作的。有人可以以对菜鸟友好的方式向我解释此语句的工作原理吗?

【问题讨论】:

你是说幕后,还是你怎么用的? 搜索“快速枚举目标c”可以找到很多 【参考方案1】:

见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...

【讨论】:

除了更干净之外,它也更快。这也被称为“快速枚举”是有原因的。 更快、更安全、更有趣……好吧,也许不是最后一个。 非常感谢!但我仍然不明白“字符串”部分的特定功能是什么。如果我在数组中除了字符串之外还有其他对象,这将如何工作?它仍然会枚举所有对象还是会跳过不是字符串的内容? 如果您认为数组可能包含多种类型的对象,您可以将类型设置为id,并在循环中检查它的类。 谢谢 jrturton,我想我现在明白了 :)

以上是关于For...in 语句 Objective-C的主要内容,如果未能解决你的问题,请参考以下文章

For...in 语句 Objective-C

返回list 的for...in...语句

ts for..of vs. for..in 语句

for each in/for in/for of

js的关于for的语句

for each in 与for in与for of