问题标签 [fast-enumeration]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2087 浏览

objective-c - 包含不同类型对象的数组的快速枚举

如果我有一个 NSMutableArray,我在其中添加了不同类的对象(例如 NSString、NSMutableString、NSProcessInfo、NSURL、NSMutableDictionary 等)现在我想快速枚举这个数组,所以我尝试了:

我在 Xcode 中收到警告说

我怎样才能避免这个警告?

0 投票
2 回答
188 浏览

objective-c - 快速枚举被认为是不好的形式还是被普遍接受?

只是想知道,它似乎工作得很好,但我想确保我使用的是普遍接受的编码实践,而不是养成坏习惯。

谢谢,

缺口

0 投票
1 回答
208 浏览

iphone - 应用程序未进入快速枚举循环

经过多次调试,我确定这段代码忽略了快速枚举循环并盲目跳到最后:

控制台打印“进入注释枚举循环”以及“初始化”,但它似乎完全绕过了枚举循环,因为它没有打印“循环中”。我究竟做错了什么?

0 投票
2 回答
6832 浏览

iphone - NSDictionary 上的快速枚举因“[Waypoint countByEnumeratingWithState:objects:count:]: unrecognized selector sent to instance ...”而失败

我在 NSDictionary 对象中有我的数据,其中键是转换为 NSValues 的 CGPoints,对象是 UIColors。这是我用来从字典中返回对象的方法:

这是在同一个类(天气)中实现的 getTemperatureColorMap 方法:

我在 for 循环中调用 getTemperatureColor2(遍历所有航点),这都在 drawRect 方法中。一个航路点包含一个天气对象。

当视图加载时,drawRect 方法被调用两次(我需要这个来产生效果)。第一次一切都很好,但第二次代码到达循环的快速枚举时,我得到一个异常:

现在我不知道 Waypoint 中的错误是如何发生的,因为它是我正在迭代的 NSDictionary。另外,我绝对不明白为什么要再次调用 drawRect 才能使迭代失败!

0 投票
2 回答
4393 浏览

objective-c - Objective-C 中的快速枚举能保证迭代的顺序吗?

我可以期望它按顺序从数组的开头到结尾吗?在文档中找不到关于此的任何内容。

即是

总是会打印出与

0 投票
1 回答
79 浏览

iphone - 快速枚举是否会影响我的文本输出?

在这里,我正在遍历一个 NSDictionary 对象数组(在 EXCELLENT MapQuest 方向 API 的解析 JSON 响应中)。我想构建一个 HTML 字符串以放入 UIWebView。

我的代码说:

directionOutput 的内容(它是一个 NSMutableString)包含 的所有值[leg valueForKey:@"narrative"],用括号括起来,后跟一个连字符,然后是所有带括号的值[leg valueForKey:@"distance"]。所以我打了那个 NSLog 电话......我在那里得到了同样的东西!似乎 for() 在我们迭代时以某种方式对我们的输出值进行批量处理,并且只输出一次。

我如何让它不这样做,而是做我真正想要的,这是我迭代时的迭代输出?

这是 NSLog 得到的。是的,我知道我需要弄清楚 NSNumberFormatter。;-)

0 投票
1 回答
4416 浏览

objective-c - 遍历一个 NSArray

有人可以帮我在这里修复我的代码。我正在尝试做一些简单的迭代,遍历其中包含 NSString 的整个数组,将它们转换为 NSInteger 并将它们分配给 NSInteger 变量。

0 投票
4 回答
15222 浏览

iphone - Objective c“for each”(快速枚举)——评估集合?

从实验看来,集合表达式只被评估一次。考虑这个例子:

输出是:

表示 [self fcn] 只被调用一次。

任何人都可以确认这是指定的(而不是仅仅观察到的)行为吗?

我想到的是做这样的事情:

而不是这个:

想法?

0 投票
5 回答
4102 浏览

iphone - 目标 C:使用快速枚举时的最后一个对象?

使用快速枚举时,知道何时到达数组中的最后一个对象的最佳方法是什么?有没有比增加一个 int 然后将其与数组的长度进行比较更好的方法?

0 投票
2 回答
92 浏览

objective-c - 如果集合中对象的类型已知,在使用快速枚举时是否应该指定迭代变量的类型?

例如,假设我有一个NSArray包含一堆对象的NSString对象:

这样做有什么好处和坏处:

相对: