问题标签 [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 - 为什么 NSFastEnumeration 快?
有谁知道是否NSFastEnumeration
真的比使用NSEnumerator
或(对于数组)使用整数计数器和循环遍历元素更快(如在运行时性能方面)?
如果它确实更快,它是如何达到这个速度的?
或者“快”实际上是指编写迭代代码的速度更快?
提前致谢。
objective-c - 快速枚举不同类型的 NSArray
我在这里有这个问题(以及关于 SO 的其他问题),以及关于 Objective-C 集合和快速枚举的 Apple 文档。尚不清楚的是是否NSArray
填充了不同的类型,并且创建了一个循环,如下所示:
这里到底发生了什么?循环是否会跳过任何不是NSString
? 例如,如果(为了参数)aUIView
在数组中,当循环遇到该项目时会发生什么?
objective-c - 按键排序的 NSDictionary 实例的快速枚举
概述
- 我正在使用快速枚举来遍历 NSDictionary 实例
- 我希望根据键的升序枚举 NSDictionary 实例,但似乎并非如此
我想做的事:
- 我希望能够使用快速枚举以键的升序遍历 NSDictionary 实例
注意:请查看预期输出与实际输出
问题
- 我的实施有误吗?
- NSDictionary 的快速枚举是否保证基于键的排序?
- 如果没有,那么是否有解决方法但使用快速枚举?
例子
预期产出
实际输出
ios - NSPredicates 可以用来用字典中的值替换数组中的对象吗?
如果我有这样的 NSDictionary:
和这样的数组:
代码返回一个数组 programWithVariableValues 会是什么样子,例如,由@”-60″,@”12.6″,@”100″,@"+",@”.3″,nil 组成?
(用它们的 valueforkey 替换在数组中找到的任何变量)
那是使用 NSPredicate 的好地方吗?还是只是快速枚举?或者是其他东西?
objective-c - 这段代码会随机使我的应用程序崩溃吗?
如您所见,此方法会更新屏幕上的对象,如果对象不在屏幕上,则会创建该对象并将其添加到 scrollView 子视图层次结构中。现在我担心的是我在枚举它时修改了 scrollView 子视图层次结构。这最终会使我的应用程序崩溃吗?
如果是,如何修改上述代码以确保安全并实现相同的功能?
谢谢!
objective-c - 在 Objective C 中使用 for-in 循环访问特定类型的对象
我正在运行一个 for-in 循环NSMutableArray
。数组中有 ClassA
的实例,其中一些实际上是其子类的实例B
。
所以如果我只想要 subclass 的成员B
,我正在检查每个对象的类,我if
在循环体内的一个条件下。
有没有可能,而不是写这样的东西,
我可以做这样的事情吗?
我会得到同样的结果吗?
objective-c - Objective C快速枚举麻烦
我正在尝试使用快速枚举来打印播放列表中的所有歌曲,但似乎我做错了。有人可以帮我吗?我已经定义了一个这样的 Song 类:
displaySong 函数如下所示:
现在,到 PlayList 类:
有人可以向我解释为什么我的代码不起作用吗?
什么 displayPlaylist 方法更好?
objective-c - 字符串文字的 NSArray 上的快速枚举
使用弧...
产生索引越界错误。
*** -[__NSArrayM objectAtIndex:]:空数组的索引 0 超出范围
我犯了什么愚蠢的错误?
.net - 在大型网络文件系统上快速设置可继承 ACE
我对网络文件系统上的 ACL 有疑问。
基本上,我想在顶级文件夹对象上设置权限,该对象下面可能有 100,000 多个文件和文件夹对象。我希望可以通过所有子文件夹和子文件继承权限(IE '适用于文件、文件夹和子文件夹'为true)。
我不想丢弃任何现有的可继承权限(IE '用该对象的可继承权限替换所有子对象权限'是false)。
因此,当我运行 Set-ACL、SetACL.exe、XCACLS.vbs,甚至使用 Windows GUI 时,该过程需要很长时间才能完成 - 显然是由于子目录的大小。
我现在已经习惯了,但是:
我想知道 - 为什么会这样?
归根结底,我不是只在一个文件夹对象上写一个 ACE 吗?
- 我没有遍历目录;
- 我没有修改子文件和文件夹上的单个 ACL(我不认为);和
- 我不会替换权限
我假设如果您访问子文件夹/文件对象,它会检查它的显式 ACE 以查看您是否有权限,如果您没有权限,它会检查任何可继承的权限(来自父文件夹对象)可能会给你访问权限。
那么,设置一个可继承的权限是否也会导致一个新的、单独的 ACE 被写入每个子文件和文件夹,即使您在技术上只是在顶层设置了一个 ACE?
有没有办法在顶层设置一个 ACE 而没有命令去枚举整个子目录?我希望在大量文件和文件夹上快速有效地执行此操作。
我希望这是有道理的。期待任何建议。
里斯。
ios - 将新的 CGPoint 值与 Array 中的 CGPoint 值进行比较
我正在生成许多具有随机位置的圆圈。我要防止的是圆圈相互重叠。所以我想将新生成的 CGPoint 值与数组中的值进行比较,如果该值位于其中一个 CGPoint 的半径区域中,则让它生成一个新值。
除了重叠的东西,我得到了大部分。我已经从我尝试过的东西中评论了这部分,但这并没有真正起作用(有缺陷的逻辑)。我不确定如何遍历 CGPoint 的各个值并进行比较。
更新: 我对代码进行了一些更改,并添加了一个检查以查看 CGPoint 是否会重叠。问题是每当我想尝试类似的东西时
我不断陷入无限循环。