问题标签 [nsset]

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 投票
5 回答
19987 浏览

iphone - 如何以相同的顺序将字符串的 NSArray 转换为唯一字符串的数组?

如果你有一个字符串的 NSArray

我怎么把它变成

..数组遵循与原始相同的顺序。我认为您可以将数组转换为 NSSet 以获取唯一项目,但如果您将其转换回数组,则不能保证获得相同的顺序。

0 投票
2 回答
6158 浏览

objective-c - NSPredicate 过滤掉另一个集合中的所有项目

有没有办法做到这一点?我有一组要从另一组中排除的项目。我知道我可以遍历我的集合中的每个项目,如果它不在另一个集合中,则只将它添加到我的过滤集合中,但如果我可以使用谓词会很好。

要排除的项目集合不是直接相同类型的对象集合;它是一组字符串;如果其中一个属性与该字符串匹配,我想从我的第一组中排除任何内容....换句话说:

这可以用谓词代替吗?

0 投票
1 回答
714 浏览

iphone - 添加具有关系的实体的 NSSet 后应用程序挂起/崩溃

我必须解决我认为相关的主要问题,因为它们都发生在同一行代码中。

数据模型

注意:我已经尽我所能简化了代码和模型。

我的核心数据模型中有 3 个实体。

  • Merchant(可以有很多Branch个es,可以有很多个Sectors)
  • Sector(可以有很多Merchants)
  • Branch(可以有一个Merchant

数据(以 JSON 格式)下载到应用程序。每个都Merchant被迭代提取扇区,如果扇区存在,则将其提取并添加到NSMutableArray.

该应用程序将挂在:

或者有时抛出异常:

解析代码几乎相同,Branch但从来没有这些问题,否则应用程序将在成为问题之前挂起或崩溃 (??)。

如果应用程序被删除并重新安装代码将正常工作,是否存在现有的相同关系导致此问题?

编辑:使用 NSInvocationOperation 调用 JSON 的解析,因此当它挂起时界面保持响应。崩溃版本会杀死应用程序。

编辑 2: Merchant.h 和 Merchant.m

商户.h

商人.m

0 投票
4 回答
884 浏览

objective-c - NSMutableSet 是像链表一样实现的吗?

既然你不能随机访问 NSMutableSet 的元素,这是否意味着它像链表一样实现?

即它会比 NSMutableArray 有更快的插入/删除吗?

0 投票
1 回答
2427 浏览

cocoa - 使用 NSPredicate 和一组答案

我有一组包含 personIDs 的字符串,并且我有一个 NSFetchedResults 的人 managedObjects 具有唯一的 strPersonIDs。我试图创建一个 NSPredicate 但它失败了。对此的任何帮助将不胜感激。我对 NSPredicate 有点陌生,所以请善待。

运行时错误消息是:Terminating app due to uncaught exception 'NSInvalidArgumentException',原因:'Unable to parse the format string "(strPersonID IN {( 300040, 300082, 412218 )})"'

0 投票
1 回答
14712 浏览

xcode - [IOS SDK]-touchesBegin 与特定对象?

当我触摸屏幕上的任何位置时触发了 touchesBegan 事件。但如果我触摸 UIImageView 之类的特定对象,我无法管理?

0 投票
2 回答
429 浏览

iphone - 为什么这段代码这么慢?(CoreData & NSSet)

我有一个应用程序,我正在实现全文搜索。我有 2 个实体:关键字和文章之间存在多对多关系。有问题的代码是这样的:

输出是这样的:

如您所见,当我在设备(iPad iOS 4.2.1)上测试时,添加所有链接到集合中关键字的文章需要很长时间。当我在模拟器中测试时,时间是:

错误在哪里,我该怎么做才能加快速度?

0 投票
1 回答
575 浏览

iphone - 我如何分组然后计算一个 NSSet?

如何处理对核心数据实体中的记录进行分组,然后对它们进行计数,以便找到计数最高的组?

我有一个“集合”,它有许多“腿”,每条腿都有一个“赢家”。我要回答的问题是:谁赢得了最多的腿。

帮助表示赞赏。哦,新年快乐!

0 投票
2 回答
5270 浏览

objective-c - 使用 NSUserDefaults 保存 CGPoints 列表

我有一堆来自 CCTMXLayer 的 CGPoints 我想保存到 NSUserDefaults 但似乎无法找到一种优雅的方式。

最初我希望保存一个带有 NSMutableSet 的 NSDictionary,以获得包含多个 NSValues (valueWithCGPoint) 的值。据我所知,NSUserDefaults 既不支持 NSMutableSet 也不支持 NSValue。

此时,我正在考虑将 CGPoint 的 x&y 值保存为字符串,并根据需要来回转换。

0 投票
2 回答
1095 浏览

uitableview - TableView,以正确的顺序显示来自核心数据 NSSet 的记录

我已经研究了一段时间,我认为有很多解决方案,但我不确定它们是否那么好。可能是我错过了什么:-)

我有两张桌子。对于 TableA 中的每条记录,TableB 中都有多条记录。即一对多的关系。我已经将它映射到核心数据中并生成了类。到现在为止还挺好。

我的基于表格视图的 UI 需要如下所示:

当我在我tableView:cellForRowAtIndexPath:的时候,很容易处理第 1 节单元格,因为它们是来自单个表 A 记录的不同字段。第 2 节单元格不同。每次tableView:cellForRowAtIndexPath:调用我都需要从表 A 的 NSSet 中获取正确的表 B 记录。这就是问题所在。

NSSet doco表示不保证订单。这意味着如果我想要基于索引的特定记录,我有几种可能的技术:

  • 向核心数据查询添加排序描述符,并使用快速枚举获取我想要的记录。我不知道这是否可行,因为我们仍在使用 NSSet。
  • 在获取数据后使用排序描述符对 NSSet 进行排序以生成 NSArray 并将其存储在属性中,然后再开始加载表。
  • 我现在正在考虑第三种选择,即为 NSSet 编写一个装饰器,它的作用类似于 NSArray,并允许我指定一个排序字段并自动跟踪对 NSSet 的更改。棘手,但从长远来看可能会有所回报。

这些答案似乎都不是那么好。有一个更好的方法吗?