问题标签 [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.
objective-c - 包含不同类型对象的数组的快速枚举
如果我有一个 NSMutableArray,我在其中添加了不同类的对象(例如 NSString、NSMutableString、NSProcessInfo、NSURL、NSMutableDictionary 等)现在我想快速枚举这个数组,所以我尝试了:
我在 Xcode 中收到警告说
我怎样才能避免这个警告?
objective-c - 快速枚举被认为是不好的形式还是被普遍接受?
只是想知道,它似乎工作得很好,但我想确保我使用的是普遍接受的编码实践,而不是养成坏习惯。
谢谢,
缺口
iphone - 应用程序未进入快速枚举循环
经过多次调试,我确定这段代码忽略了快速枚举循环并盲目跳到最后:
控制台打印“进入注释枚举循环”以及“初始化”,但它似乎完全绕过了枚举循环,因为它没有打印“循环中”。我究竟做错了什么?
iphone - NSDictionary 上的快速枚举因“[Waypoint countByEnumeratingWithState:objects:count:]: unrecognized selector sent to instance ...”而失败
我在 NSDictionary 对象中有我的数据,其中键是转换为 NSValues 的 CGPoints,对象是 UIColors。这是我用来从字典中返回对象的方法:
这是在同一个类(天气)中实现的 getTemperatureColorMap 方法:
我在 for 循环中调用 getTemperatureColor2(遍历所有航点),这都在 drawRect 方法中。一个航路点包含一个天气对象。
当视图加载时,drawRect 方法被调用两次(我需要这个来产生效果)。第一次一切都很好,但第二次代码到达循环的快速枚举时,我得到一个异常:
现在我不知道 Waypoint 中的错误是如何发生的,因为它是我正在迭代的 NSDictionary。另外,我绝对不明白为什么要再次调用 drawRect 才能使迭代失败!
objective-c - Objective-C 中的快速枚举能保证迭代的顺序吗?
我可以期望它按顺序从数组的开头到结尾吗?在文档中找不到关于此的任何内容。
即是
总是会打印出与
iphone - 快速枚举是否会影响我的文本输出?
在这里,我正在遍历一个 NSDictionary 对象数组(在 EXCELLENT MapQuest 方向 API 的解析 JSON 响应中)。我想构建一个 HTML 字符串以放入 UIWebView。
我的代码说:
directionOutput 的内容(它是一个 NSMutableString)包含 的所有值[leg valueForKey:@"narrative"]
,用括号括起来,后跟一个连字符,然后是所有带括号的值[leg valueForKey:@"distance"]
。所以我打了那个 NSLog 电话......我在那里得到了同样的东西!似乎 for() 在我们迭代时以某种方式对我们的输出值进行批量处理,并且只输出一次。
我如何让它不这样做,而是做我真正想要的,这是我迭代时的迭代输出?
这是 NSLog 得到的。是的,我知道我需要弄清楚 NSNumberFormatter。;-)
objective-c - 遍历一个 NSArray
有人可以帮我在这里修复我的代码。我正在尝试做一些简单的迭代,遍历其中包含 NSString 的整个数组,将它们转换为 NSInteger 并将它们分配给 NSInteger 变量。
iphone - Objective c“for each”(快速枚举)——评估集合?
从实验看来,集合表达式只被评估一次。考虑这个例子:
输出是:
表示 [self fcn] 只被调用一次。
任何人都可以确认这是指定的(而不是仅仅观察到的)行为吗?
我想到的是做这样的事情:
而不是这个:
想法?
iphone - 目标 C:使用快速枚举时的最后一个对象?
使用快速枚举时,知道何时到达数组中的最后一个对象的最佳方法是什么?有没有比增加一个 int 然后将其与数组的长度进行比较更好的方法?
objective-c - 如果集合中对象的类型已知,在使用快速枚举时是否应该指定迭代变量的类型?
例如,假设我有一个NSArray
包含一堆对象的NSString
对象:
这样做有什么好处和坏处:
相对: