问题标签 [nsenumerator]

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 回答
835 浏览

objective-c - 在 NSEnumerator 中观察下一个对象

我有一个 NSEnumerator 对象,其中包含从 NSTextView 检索的文本行,解析为:

我正在处理 for 循环中的行,如下所示:

这很好用,但现在我需要在处理当前对象时观察下一个对象。在不破坏当前周期的情况下,最好的方法是什么?如果我做这样的事情(在当前周期内),它将不起作用:

0 投票
1 回答
315 浏览

xcode4 - 无法让 NSEnumerator 显示我的数组中的下一项

我是 Objective-C 的新手,我已经在网上研究了好几个星期。几乎每个站点上的每个示例都是相同的,并没有完全让我清楚如何将它集成到我的 Xcode 4 应用程序代码中。

随处可见的例子是:

NSEnumerator* theEnum = [some_array objectEnumerator]; id obj; or id some_object = NULL; while(obj = [theEnum nextObject]) { //do something...

我想如果我更好地理解什么 id some_object = NULL;/ id obj; 表示我可以自己解决。

在我的代码中,我有三个数组。每次用户单击“下一步”按钮时,我希望能够在 UILabel 字段中的每个数组中显示一个对象,直到所有对象都显示出来。

NSArray2 = 约翰、吉尔、乔希 NSArray3 = 男孩、女孩、男孩

当按下下一个按钮时,您会看到 1,约翰和男孩。下一次你会看到 2,Jill 和女孩,最后是 3,Josh 和男孩。

下面是基本示例,而不是我的实际代码。

谢谢

0 投票
2 回答
1441 浏览

iphone - NSSet of touchesShouldBegin: UIScrollView 只是一个 NSString

我有一个 UIScrollView 的子类,它也是委托。

当我调用下一个协议函数时:

NSLog 唯一显示的是:

问题是,它将 NSSet 的内容显示为一个大的 NSString。如果我从 objectEnumerator 询问 allObjects,我只会在 NSArray 中得到一个对象。与 NSLog 显示的对象(NSString)完全相同。

有人可以告诉我我是否做错了什么,或者 NSSet 只提供一个 NSString 是否不正常。

谢谢!

0 投票
1 回答
97 浏览

objective-c - 从 NSDictionary 对象计算货币

基本思想是遍历一个充满 .plist 的目录,这些目录具有包含货币价值的 NSDictionary 对象。

问题

如何遍历所有目录内容并提取所有“ Current Value”对象并将它们加在一起以获得总量?

例子

电流输出

期望的输出

解决方案

解决方案输出

0 投票
1 回答
246 浏览

objective-c - (anObject = [enumerator nextObject] 返回数组对象的逆序

json从我的网络服务收到响应,我记录它并以正确的顺序获取,但是当我开始使用NSEnumerator并应用 id anObject 解析数组中的数据时;

并记录一个对象,我以完全相反的顺序得到数组,有没有人知道这一点,或者他们是否有任何解决方法来使用枚举器以正确的顺序获取对象以进行解析?我在此论坛中搜索后发布了帖子,但对于该主题的 ios,它们没有任何内容。

提前谢谢。

0 投票
3 回答
420 浏览

objective-c - 如何枚举符合 NSFastEnumeration 的任意集合

我试图枚举一堆对象,根据情况,这些对象可能是 NSArray 或 NSOrderedSet。由于两者都符合 NSFastEnumeration,我希望这可以工作:

但是,我收到以下编译器错误:

选择器“objectEnumerator”没有已知的实例方法。

我怀疑这里有一些语法错误,我之前没有使用 id 构造。我可以将一组或两组转换为一个通用类,但如果可能的话,我想更好地了解这里发生了什么。

0 投票
2 回答
175 浏览

objective-c - 为什么从 plist 读取数据时第二个值(Null)?

这个问题来自 makegameswith.us 网站和他们的 Peeved Penguin 项目。我正在尝试修改它以从 plist 而不是 GameLayer.mm 读取关卡数据,第一个精灵数据按预期读取,第二次通过 while 循环返回(Null)精灵名称。我查看了 plist,两个精灵应该具有相同的文件名“tallblock”。

以下是相关的代码片段:

我把这个问题/问题放在官方论坛上,但我没有收到任何建议。我已经在调试器中多次单步执行代码,但我不明白为什么它在第一遍时发现 tallblocks 而在第二遍时却没有。

我截取了 plist 文件的屏幕截图。任何想法为什么代码在第二个精灵上失败?

Plist 屏幕截图

0 投票
2 回答
547 浏览

ios - 如果从 Feed 中删除,则从 Core Data 中删除对象

考虑提要中的字典对象与核心数据中的排序实体之间的以下相关性:

在枚举提要时,我检查实体中是否有 A 的[stringForKey:@"name"]isEqualTo A.name。如果匹配,我会更新实体。如果不是,我在 CoreData 中插入一个新实体。

这适用于更新和插入,但不适用于删除。考虑从提要中删除对象 C:

当我到达提要中的“D”时,它会看到 CoreData 中的对象“C”不匹配并创建一个新对象 D。所以我现在有两个问题:我有两个“D”对象,对象“ C" 不会从 CoreData 中删除。

所以虽然我想结束这个:

我目前得到的是:

这一定是一个常见问题,所以我想知道确定何时从核心数据中删除实体的最佳实践是什么。

0 投票
2 回答
170 浏览

objective-c - NSEnumerator::nextObject 上的 NSZombie 异常(或者,nextObject 是否触及其查询?)

好吧,我已经从事编码工作 12 年了,但我对 Obj-C 的经验相对缺乏——尤其是内存管理——而且我遇到了一个令我惊讶的错误。

这是代码块:

_NSZombie_NSException>>. 好的,我知道这意味着(总是?)我正在访问一个已dealloc编辑的对象。我不明白为什么这条线上会发生错误。如果node我得到的是已dealloc编辑的内容,我希望下一行出现错误(例如,当我访问时node.body)。我看不出NSEnumerator对象本身是如何导致问题的,因为它是在之前创建的,如果它是self.contained集合,它应该在之前就死了,对吧?

那么,nextObject实际上是否在检索到的对象(即)上调用了一些node会导致抛出异常的方法?这也许可以解释它,但我没想到会是这样。或者谁能​​告诉我哪个物体可能是僵尸?

这种情况非常间歇性地发生,我在开发的最后一周左右遇到过两次,因此运行僵尸仪器不太可能捕获它。

0 投票
1 回答
294 浏览

ios - iOS:修改 NSFastEnumerationState 以在枚举时隐藏突变

我有一个案例,我的集合在枚举时会发生突变。但这在 iOS 中是不允许的。进一步调查发现 NSFastEnumerationState 是 ac 类型结构,如下所示

所以 state->mutationPtr 表示集合是否发生了变异,基于哪些异常被抛出。我们是否可以覆盖这个来表明集合没有发生变异(即使它已经发生了变异),这样就不会抛出异常。通过覆盖我们可以在枚举时实现突变。我不知道这是否是一个正确的想法。请让我知道您的建议。