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

cocoa - 如何在快速枚举期间增加“分数”

我有以下代码,我想用它来检查用户答案并输出分数(满分 5 分)。我使用带有答案的 plist 并对照它检查 textField.text。我正在努力解决的是:如何使用这种方法获得输出分数?

任何帮助将非常感激!非常感谢。

0 投票
3 回答
396 浏览

objective-c - 如何从 NSArray 中获取特定长度的字符串?

我想在 NSArray 中获取具有特定长度的字符串。

该数组有很多元素,我不想使用快速枚举。

有没有可能的方法?

0 投票
1 回答
138 浏览

cocoa - 通过文本字段检查用户输入

我已经为此苦苦挣扎了好几天了;我的应用程序有一个带有 uitextfields 的图表来表示图片的标签。我想根据字典检查用户输入(以获得答案),如果它是正确的,则将分数增加 1。我通过“硬编码”每个 textfield.text 查询来工作,每个查询都有自己的 if 语句,但如果可能的话,我想要一种更好、更可重用的方法?到目前为止,我已经尝试过:

问题是即使答案在错误的文本字段中,只要一个是正确的,它们都会显示为正确的,这有点尴尬!任何帮助将不胜感激。

0 投票
1 回答
101 浏览

cocoa - 如何避免复制和粘贴?

如果可能的话,我想改进这个方法:这是一个保存所有文本字段(目镜、物镜等)文本的小部分。不幸的是,我的应用程序的每个部分都必须多次这样做很容易出错,所以我想改进它。我正在考虑使用文本字段等方法的参数进行某种快速枚举,并且我可以拥有字典中的所有键(已经设置)。只是一个指向正确文档的指针,或者,也许,某种对你有用的过程会很棒!

感谢您抽出时间来阅读!

0 投票
1 回答
3088 浏览

ios - iOS - 核心数据 - 使用关系和获取请求删除记录

概述:

我有一个使用核心数据的 iOS 项目

  • 我有一个Employees实体和一个Department实体。
  • 1个部门可以包含很多员工
  • 所以实体与实体Department之间存在“对多”关系Employees,这种关系称为关系employees,反向关系称为whichDepartment

目标一:

我想删除特定部门的所有员工

问题:

a) 以下是正确的,还是会导致突变或一些问题?

b)这是正确的方法吗?

请注意-removeEmployees是在创建实体的子类时自动生成的方法

目标2:

  • 我想根据某些条件删除员工
  • 我正在为获取的记录删除快速枚举循环中的对象

问题:

c)以下是正确的,还是会导致一些突变?

d) 是否像在快速枚举中修改对象?

e) 有更好的方法吗?

请注意-removeEmployees是在创建实体的子类时自动生成的方法

0 投票
3 回答
106 浏览

objective-c - 我们是否在快速枚举中发布参数

我们是否在快速枚举中发布参数?因此,此代码是否准确:

我只是想知道,我第一次使用快速枚举!

0 投票
3 回答
3004 浏览

objective-c - 为我的班级采用/实施快速枚举的示例?

我试图了解如何为我正在创建的类采用快速枚举协议(在 iOS/objective C 下)。我阅读了 Apple 文档的部分,但是……我不太明白!

有人有一些我可以看的示例代码吗?

我正在尝试做的事情:我有一个对象数组,我希望发送者对其进行迭代。发件人想要使用 for-in 构造。问题是我不希望发送者看到数组中的所有对象,因为其中一些在应用程序的上下文中无效。

换句话说,我希望我的迭代器返回数组中匹配特定条件的对象子集。

我不希望在此过程中创建任何数组,以免减慢速度。

0 投票
2 回答
149 浏览

iphone - 如何在 Objective-C 中快速枚举和比较多个 NSArray 的对象?

我有许多不同NSArray的 ' 存储在.dat文件中,在Documents我的 iPhone 应用程序的文件夹中,如下所示:

文件的数量.dat是未知的,它会根据与用户操作应用程序相关的许多因素而增加或减少。

这些NSArray's存储在.dat文件中的内容是什么?它们包含NSString's. 重要的是要说count每个 NSArray 我的变化,就像这样:

ETC..

我必须定期验证NSString这些NSArray's是否已被修改,以通知用户某些事件。在从 Internet 进行 XML 解析之后,我已经能够在内存中拥有与先前存储在文件夹中的NSArray's相应文件相对应的新文件。.datDocuments

由于我有很多 .dat文件,我的问题是:

我如何 有效地并且一次比较我在内存中的 新的NSArray's (NSArray *john, *mary, *bob等等......用户是否已修改任何(等... )?john.dat, mary.dat, bob.datDocumentsNSString's"Mon, 11 Jun 2012 04:52:06 GMT","Tue, 12 Jun 2012 04:51:59 GMT",

谢谢你的帮助!

0 投票
2 回答
427 浏览

objective-c - 遍历二维数组,使用for-in语法

我正在遍历这样的二维数组:

但是,如何访问较低数组的数据?以下代码不起作用,但让您了解我的意思:

0 投票
1 回答
1871 浏览

objective-c - 快速枚举比嵌套枚举中的for循环慢(带有测试结果)?

我知道有相当多的主题似乎是关于完全相同的事情,但我没有找到一个真正关于我想要的东西。

所以我很好奇,想将 Fast Enumeration 的性能与 NSEnumerator 和 for 循环进行比较。(这是经常被问到的部分)

首先我比较了快速枚举:

NSE 分子:

循环:

testArray是一个由 0 到 1,000,000 的 NSNumber 组成的数组,我一个接一个地运行了 100 次测试,并计算了每个测试的平均运行时间。

我也在我的 iPad 2 上运行它们

结果:(所有 100 次运行的平均时间)

  • 0.042687s快速枚举
  • 0.582072s NSEnumerator
  • 0.627318s for 循环

正如预期的那样,Fast Enumeration 是迄今为止最快的,并且 NSEnumerator 仍然比 for 循环快一点,但这是用于枚举退出大型数组

所以这是一个不太常见的问题:

其实我对别的东西很感兴趣:在数组中枚举以比较数组中的每个对象

第一次尝试使用嵌套的 for 循环:

对于这些测试,我必须减小数组的大小和运行次数才能在合理的时间内完成它们,因为迭代次数当然会随着 O(n^2) 的增加而增加。所以我用一个包含 5.000 个 NSNumber 的数组运行它们,并重复测试 5 次。

结果:1 次运行7.360645 秒

所以我想,当然,快速枚举应该更快。但是为了实现三角形模式以避免对每对元素进行两次比较,我不得不将外循环中的 Fast Enumeration 与内循环中的 NSEnumerator 混合

令我惊讶的是,这要慢得多:18.086980s for 1 run

然后我也尝试了一个混合版本,对外部循环使用快速枚举,对内部循环使用 for 循环:

结果:1 次运行7.079600 秒

只比普通的 for 循环快一点。

一个地方的数字:

  • 07.360645s for-循环
  • 07.079600s混合动力
  • 18.086980s快速枚举

所以我想知道,这是为什么呢?快速枚举是否仅在“未中断”时才能正常工作,使用 NSEnumerator 是否会干扰快速枚举?还是我只是遗漏了一些东西而我的方法是错误的?