问题标签 [nsorderedset]

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

ios - 将 NSMutableSet 和 NSMutableOrderedSet 桥接在一起的协议

Swift 3中,我希望能够创建一个协议,允许我添加元素并通过 using 进行迭代for element in。该协议应该同时适用于NSMutableSetNSMutableOrderedSet(因为它们不是从同一个类继承的)。

我知道有充分的理由为什么NSMutableSetNSMutableOrderedSet从同一个类继承,这里这里都有解释。

但我想创建一个协议,它只使用NSMutableSet(and NSMutableOrderedSet) 中所有方法的一小部分。

我已经add开始工作了,像这样:

但是,我真的很想能够通过使用来遍历元素:

我试图使protocol MutableSet符合Sequence协议,像这样,但它不起作用:

是否可以使我的协议符合Sequence?我该怎么做?我尝试了typealias和等associatedtype的各种组合。我也尝试了这个答案,它对我不起作用。ElementIterator

编辑 2:在编辑 1 中回答我自己的问题

我开始var count: Int { get }使用这个解决方案,但不确定它是否是最好的......如果不必在 and 的扩展中实现 也很好,var elements: [Any] { get }但我想这是不可避免的吗?NSMutableSetNSMutableOrderedSet

编辑1:跟进问题 使用@rob-napier 的优秀答案和type erasure技术我已经扩展了protocol MutableSet具有count和能力的能力,但是我只能使用丑陋的(named )subscript来做到这一点,而不是. 这就是我正在使用的:funcgetCountvar

我怎样才能让它在协议中使用,var count: Int { get }var elements: [Any]不是在函数中使用?

0 投票
1 回答
1139 浏览

core-data - 在CoreData的NSOrderedSet中的特定位置插入一个对象?

在 CoreData 中设置“To Many”关系并勾选“Ordered”框将您的属性定义为 NSOrderedSet。

有没有一种有效的方法可以在特定位置插入对象或上下移动对象?

或者我是否需要使用来自 NSOrderedSet 的数据创建一个 NSMutabledOrderedSet,插入或移动我的对象,然后将其转换回 NSOrderedSet?

还是我应该使用标准的 NSSet 并自己管理“位置”属性?

0 投票
1 回答
1000 浏览

ios - 在 CoreData 的 NSOrderedSet 中查找对象。索引(无障碍元素:)

我有一个有序到多的关系,Xcode 8 生成了一个 NSOrderedSet 类型的属性,其中包含一堆用于插入和删除元素的辅助函数。

现在我试图找到一个对象,Apple 文档表明以下函数可用于 NSOrderedSet:

但是,当我想使用此函数时,编译器和自动完成功能希望我改用以下函数:

这似乎没有找到任何东西。

有人可以帮我理解发生了什么吗?

0 投票
1 回答
2455 浏览

ios - 将泛型数组转换为 NSOrderedSet?

我需要分配 a 的返回值fetch

对多关系 ( itemsWithoutRatingOfLoggedInUser):

并得到以下错误。我能做些什么?我尝试使用as!操作员进行投射,但没有帮助。

在此处输入图像描述

0 投票
1 回答
98 浏览

xcode - 将 CoreData 中的 NSOrderedSet 与 UITableView 一起使用

我正在尝试在 CoreData 中使用 NSOrderSet 来填充我的表格视图。我已经能够读取 NSOrderedSet 的计数,但似乎无法访问构成 NSOrderedSet 的实体的各个属性。

我将它用于 numberOrRows

currentStatement 代表 CoreData 中的一个实体,而 History 是另一个与 Statement 实体有 toMany 关系的实体。

我正在尝试在 CellForRowAt 方法中访问这样的 History > date 属性。

0 投票
1 回答
5921 浏览

ios - Swift 3 - 如何声明 NSOrderedSet 以使用 setVocabularyStrings?

我想使用这个函数的原型向 SiriKit 添加词汇。Apple 的文档显示了以下示例代码:

根据文档,我需要NSOrderedSetself.sortedWorkoutNames().

如何声明它并用数组设置它Strings

编辑:关于上下文项目,我将 Intents 与 Siri 一起使用。这里的目标是使用“Benchpress”或“Chicken”之类的特定词来启动我的锻炼应用程序,并使用已经实现的 INStartWorkoutIntent 并像魅力一样工作。

0 投票
1 回答
795 浏览

ios - Swift:从 NSOrderedSet 中删除一个对象

在此处输入图像描述我发现从 NSOrderedSet 中删除对象的解决方法是将其从其可变副本中删除。修复 XCode 的警告后,我拥有的代码是:

但它给了我一个错误 EXC_BAD_INSTRUCTION。我该如何解决?

0 投票
1 回答
2149 浏览

swift - 从 Core Data 中检索 NSOrderedSet 并将其转换为实体 managedObjectSubclasss

我的设计

我正在制作一个健身应用程序来学习核心数据,我发现我需要让用户将每次执行的锻炼存储为一个 WorkoutLog 项目,并且在那里,应该有一系列代表该锻炼表现的锻炼日志(它包含每个升降机以及对实际锻炼设计的参考)。

问题是,过了一会儿我意识到我需要订购这些,这样下次我想向用户展示他们的锻炼时,锻炼的顺序应该是相同的。

所以我在那里检查了图像右上角的“ordered”,现在我的代码急需更新。我已经尝试尽可能多地阅读有关使用NSOrderedSet以及如何从核心数据中获取它们然后操作它们的信息,但我并没有真正发现对我有多大用处。(我在objective-c方面没有经验)

例如我的代码曾经是:

我收到错误消息:.../DatabaseFacade.swift:84:77: Cast from 'NSOrderedSet?' 到不相关的类型 'Set' 总是失败

所以我学到的关于集合和核心数据的知识似乎不再适用。

我远非编程专家,但我非常渴望学习如何访问loggedExercises实例。

TLDR;有没有办法将 NSOrderedSet 转换为我可以使用的东西?我们通常如何从核心数据中使用 NSManagedSets?我们将它们转换为数组还是 MutableSet?我非常感谢一两个关于如何开始检索和使用这些有序集的示例!

谢谢

0 投票
1 回答
430 浏览

arrays - 数组到 NSOrderedSet 将列表的大小更改为 1

我有一个包含 2 个元素的数组,当我尝试将其转换为 NSOrderedSet 时,它只给了我一个元素的大小

这条线给我 2

这条线只给我 1 个元素

为什么转换为 NSOrderedSet 会改变数组的大小?

感谢您的帮助

0 投票
0 回答
68 浏览

core-data - Swift4 Core Data如何按日期插入NSOrderedSet?

我有一个核心数据模型,其中一条记录to many与照片实体有关系。该关系被标记为ordered在数据模型中。

下面的代码在最后一个索引处添加了一条新记录。我希望记录按日期排序 - 这意味着我必须在某个特定索引处插入对象

有没有办法让核心数据执行块或某些操作来确定新记录的正确插入索引?还是我必须自己计算?

我担心订单,因为删除照片会迫使需要重新计算所有照片的日期范围。