问题标签 [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 回答
274 浏览

c# - 从大目录中有效地随机枚举文件

我希望能够从目录中递归地枚举具有特定搜索模式(例如 *.txt)的文件。但有几个限制:

  1. 该机制应该非常有效。目标是逐个枚举文件(使用 IEnumerable),这样如果有一个巨大的文件列表,那么获取一个文件进行处理就不会花费很长时间。
  2. 枚举应该随机返回文件,这样如果我的程序的两个实例都在尝试枚举目录,那么两者都不应该以相同的顺序看到文件。

鉴于这些要求,DirectoryInfo.EnumerateFiles看起来很有希望,只是它不满足第二个要求。如果我删除性能考虑,解决方案很简单(只需获取整个集合并在访问之前随机化序列)。

有人可以建议在 .net 3.5/4.0 中实现 C# 的可能选择吗?

0 投票
1 回答
595 浏览

cocoa-touch - 通过 [NSOperationQueue 操作] 枚举是否安全?

通过快速枚举来枚举是否安全[NSOperationQueue operations]?像这样:

由于操作是异步的并在另一个线程上执行,operations因此可能随时更改(包括在主线程执行期间)。快速枚举是否可以防止这种情况,或者我应该copy(和autorelease)操作数组来代替?

0 投票
3 回答
5949 浏览

ios - 如何在 iOS 上通过 UITextFields 进行枚举

枚举子视图以查找文本字段的正确方法是什么?

或者

我知道这不是正确的措辞,但我不明白的是,如果它是顶级方法,你如何将它从视图“转换”为文本字段?

0 投票
8 回答
2383 浏览

objective-c - 为什么我指定 NSStrings 时快速枚举不跳过 NSNumbers?

我以为我知道如何使用快速枚举,但有一些我不明白的地方。如果我创建三个NSString对象和三个NSNumber对象并将它们放在NSMutableArray

然后我对所有NSString对象进行快速枚举,如下所示:

在控制台中,我得到了这个结果:

我只记录了NSStrings,但我得到了数组中每个对象的一行,即使是NSNumbers,我也不明白为什么。快速枚举是否总是使用数组中包含的每个对象?

0 投票
1 回答
141 浏览

iphone - 快速枚举有哪些限制?

如果我错了,请纠正我。

如果我们使用快速枚举:

我们无法添加/删除新条目,但我们可以更改现有条目。

我们无法添加/删除新条目,但我们可以更改现有条目。

我们无法添加/删除新条目或更改现有条目。

0 投票
1 回答
322 浏览

iphone - 将 NSDictionary 中的数组读入 UITableViewCell 子视图

我正在尝试将下面的 plist 字典读入 UITableView 的单元格。我想为 ArrayKey 表示的数组中包含的每个字符串创建一个子视图,例如:

我已经使用快速枚举来读取字典,但我只能成功读取每个数组中的第一个字符串:

我错过了子视图。我很困惑为什么如果我添加一个快速枚举的 NSLog,输出会显示数组中的所有字符串,但我只能显示第一个(即 myString1 在一行,myString2 在第二行,没有 myString3)。

0 投票
4 回答
160 浏览

objective-c - 这个 2x 快速枚举的更好解决方案?

我正在遍历一个数组并将此数组中的 objects 标记属性与另一个数组中的对象进行比较。

这是我的代码:

有一个更好的方法吗?

请注意该tag属性不是整数,因此必须比较字符串。

0 投票
1 回答
266 浏览

objective-c - 枚举 NSMutableDictionary - 无法从循环内访问对象属性

我有一个 NSMutableDictionary, analyzedPxDictionary,其中包含一堆 Pixel 对象(我创建的自定义类)。除其他外,Pixel 对象包含一个名为 的 NSArray 属性rgb。该数组将始终包含三个 NSNumber 对象,其整数值对应于像素的 rgb 值。

我现在正在尝试枚举analyzedPxDictionaryusing 快速枚举。但是,似乎我无法从循环中访问 Pixel 对象的属性。我已经声明rgb它是一个综合属性,以便我可以使用点语法访问它。但是当我尝试从循环中执行此操作时,程序崩溃,给我一个如下错误:

'-[NSCFString rgb]: unrecognized selector sent to instance 0xa90bb50'

这是产生该错误的代码示例:

我尝试在该printf行上设置一个断点以检查px. 如果rgb它的属性被列为一个并且被正确描述为 NSArray 的实例,它似乎不包含任何对象。

我相信我正在rgb正确初始化。为了解释,请考虑以下代码:

这成功地将正确的值打印到控制台。

那么为什么我不能rgbforin循环内访问该属性呢?

0 投票
2 回答
5165 浏览

objective-c - 对 nil 对象进行快速枚举

这里应该发生什么?安全吗?

更具体地说,我是否必须这样做:

或者这样好吗?:

0 投票
5 回答
12170 浏览

objective-c - 在快速枚举中跟踪索引

我想在使用快速枚举时获取当前对象的索引,即