问题标签 [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.
c# - 从大目录中有效地随机枚举文件
我希望能够从目录中递归地枚举具有特定搜索模式(例如 *.txt)的文件。但有几个限制:
- 该机制应该非常有效。目标是逐个枚举文件(使用 IEnumerable),这样如果有一个巨大的文件列表,那么获取一个文件进行处理就不会花费很长时间。
- 枚举应该随机返回文件,这样如果我的程序的两个实例都在尝试枚举目录,那么两者都不应该以相同的顺序看到文件。
鉴于这些要求,DirectoryInfo.EnumerateFiles看起来很有希望,只是它不满足第二个要求。如果我删除性能考虑,解决方案很简单(只需获取整个集合并在访问之前随机化序列)。
有人可以建议在 .net 3.5/4.0 中实现 C# 的可能选择吗?
cocoa-touch - 通过 [NSOperationQueue 操作] 枚举是否安全?
通过快速枚举来枚举是否安全[NSOperationQueue operations]
?像这样:
由于操作是异步的并在另一个线程上执行,operations
因此可能随时更改(包括在主线程执行期间)。快速枚举是否可以防止这种情况,或者我应该copy
(和autorelease
)操作数组来代替?
ios - 如何在 iOS 上通过 UITextFields 进行枚举
枚举子视图以查找文本字段的正确方法是什么?
或者
我知道这不是正确的措辞,但我不明白的是,如果它是顶级方法,你如何将它从视图“转换”为文本字段?
objective-c - 为什么我指定 NSStrings 时快速枚举不跳过 NSNumbers?
我以为我知道如何使用快速枚举,但有一些我不明白的地方。如果我创建三个NSString
对象和三个NSNumber
对象并将它们放在NSMutableArray
:
然后我对所有NSString
对象进行快速枚举,如下所示:
在控制台中,我得到了这个结果:
我只记录了NSString
s,但我得到了数组中每个对象的一行,即使是NSNumber
s,我也不明白为什么。快速枚举是否总是使用数组中包含的每个对象?
iphone - 快速枚举有哪些限制?
如果我错了,请纠正我。
如果我们使用快速枚举:
我们无法添加/删除新条目,但我们可以更改现有条目。
我们无法添加/删除新条目,但我们可以更改现有条目。
我们无法添加/删除新条目或更改现有条目。
iphone - 将 NSDictionary 中的数组读入 UITableViewCell 子视图
我正在尝试将下面的 plist 字典读入 UITableView 的单元格。我想为 ArrayKey 表示的数组中包含的每个字符串创建一个子视图,例如:
我已经使用快速枚举来读取字典,但我只能成功读取每个数组中的第一个字符串:
我错过了子视图。我很困惑为什么如果我添加一个快速枚举的 NSLog,输出会显示数组中的所有字符串,但我只能显示第一个(即 myString1 在一行,myString2 在第二行,没有 myString3)。
objective-c - 这个 2x 快速枚举的更好解决方案?
我正在遍历一个数组并将此数组中的 objects 标记属性与另一个数组中的对象进行比较。
这是我的代码:
有一个更好的方法吗?
请注意该tag
属性不是整数,因此必须比较字符串。
objective-c - 枚举 NSMutableDictionary - 无法从循环内访问对象属性
我有一个 NSMutableDictionary, analyzedPxDictionary
,其中包含一堆 Pixel 对象(我创建的自定义类)。除其他外,Pixel 对象包含一个名为 的 NSArray 属性rgb
。该数组将始终包含三个 NSNumber 对象,其整数值对应于像素的 rgb 值。
我现在正在尝试枚举analyzedPxDictionary
using 快速枚举。但是,似乎我无法从循环中访问 Pixel 对象的属性。我已经声明rgb
它是一个综合属性,以便我可以使用点语法访问它。但是当我尝试从循环中执行此操作时,程序崩溃,给我一个如下错误:
'-[NSCFString rgb]: unrecognized selector sent to instance 0xa90bb50'
这是产生该错误的代码示例:
我尝试在该printf
行上设置一个断点以检查px
. 如果rgb
它的属性被列为一个并且被正确描述为 NSArray 的实例,它似乎不包含任何对象。
我相信我正在rgb
正确初始化。为了解释,请考虑以下代码:
这成功地将正确的值打印到控制台。
那么为什么我不能rgb
从forin
循环内访问该属性呢?
objective-c - 对 nil 对象进行快速枚举
这里应该发生什么?安全吗?
更具体地说,我是否必须这样做:
或者这样好吗?:
objective-c - 在快速枚举中跟踪索引
我想在使用快速枚举时获取当前对象的索引,即