问题标签 [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 协议。我已经阅读了文档,但不是很清楚。有人可以告诉我协议方法应该返回什么以及它是如何工作的吗?
objective-c - Objective-C 快速枚举冒泡排序
我正在尝试将一些 GCD 集成到我的代码中,并且发现严重的瓶颈是我在大型数组中的对象之间执行的气泡比较。这是原始代码:
得到我的漂移?因此,许多其他快速枚举任务可以通过转换轻松地 GCD'd
至:
有没有办法将我的前瞻排序气泡排序算法转换为我可以提供给 GCD 块实现的东西?
objective-c - Objective-C 中的快速枚举与 NSEnumerator
我一遍又一遍地看到这一点,为什么在循环中使用快速枚举而不是NSEnumerator
using更快nextObject:
。
iphone - 为什么这个简单的“if”语句不起作用(在快速枚举中)?
我正在枚举ChecklistItem
表中的实体,以查看哪些实体的priority
(NSNumber 属性)为 1。checklistItems
与Checklist
.
在这个简单的代码中,第一个 NSLog 工作正常,并报告我的几个 ChecklistItems 的优先级为 1。但第二个 NSLog 永远不会被调用。为什么是这样?我认为我错误地构建了“if”语句,但我不知道如何。
objective-c - 在没有副作用的情况下删除 for 循环中的项目?
for
我可以在没有副作用的情况下删除我在 Objective-C 循环中循环的项目吗?
例如,这样可以吗?
objective-c - Enumeration and removing a particular object from NSMutableArray
I'm having trouble removing items from my NSMutableArray
. I'm extremely new to Objective-C, so please bear with me.
So far, I have the following: I'm trying to remove a line from the array if it has certain text inside. I cannot do this while fast-enumerating, so I'm trying to store the index, for removal after the enumeration has finished. However, I'm being told that this makes a pointer from an integer without a cast. Confused!
objective-c - 将指针添加到可变数组后,我可以重复使用它吗?
假设我有一个带有字符串的数组。
我想要的是启动一些自定义类的对象并将它们添加到可变数组中。我正在使用一个带有字符串参数的自定义初始化方法。
更具体地说,我想[SomeClass alloc] initWithName: aName]
将结果对象添加到NSMutableArray
.
我正在考虑使用 Objective-C 快速枚举。所以我得到的是:
问题是我无法添加nil
到数组中,而且我不喜欢异常处理。但是,我的启动方法可能会返回nil
。所以我决定在添加(预防)之前先检查一下。我的新 for-in-loop 是:
现在,我不是立即将新对象传递给数组,而是先设置一个指针someObject
,然后将指针传递给数组。
这个例子向我提出了一个问题。当我someObject = [[[SomeClass alloc] initWithName: name] autorelease]
在循环中时,数组中的现有对象(使用相同的指针添加)是否也会改变?
换句话说:该addObject: (id)someObject
方法是为我传递的指针创建一个新的内部副本,还是我必须创建一个指针的副本——我不知道如何——然后自己传递这个副本?
非常感谢!:-)
objective-c - 如何检测对象是否在 Objective-C 中实现 NSFastEnumeration 协议?
我想对类型的对象使用快速枚举id
。
基本上我在这里错过了支票:
ios - Core Data/NSOperation:枚举和删除对象时崩溃
我有一个基于核心数据的应用程序,它具有一个对象(列表)到多个对象(列表项)的关系。我正在处理设备之间的数据同步,作为其中的一部分,我从后台线程中的 XML 文件导入列表(通过 NSOperation 子类)。
当我更新现有列表时,我删除其所有旧列表项(从特定于该线程的 NSManagedObjectContext 中)并用 XML 文件中的新列表项替换它们...删除是通过枚举项目来处理的列表:
但是,偶尔,我在该枚举期间遇到崩溃:
* 由于未捕获的异常“NSGenericException”而终止应用程序,原因:“* Collection <_NSFaultingMutableSet: 0x4fcfcb0> 在枚举时发生了变异。
我不确定从哪里开始寻找导致该问题的原因。在枚举发生时,我不会在代码的任何其他部分修改列表。可以同时有多个线程,因为不同的列表被导入/更新......将上下文保存在另一个线程中会导致问题 - 因为它还会通知主上下文(如果它与枚举同时发生) ?
如果有帮助,这里是我的 NSOperation 子类的“main”函数的代码(我从 Core Data 中删除旧的列表项,并通过解析 XML 数据来更新列表):
感谢您的任何建议。
iphone - 快速枚举排序
做
保证按放入数组中的顺序返回对象?