CoreData NSOrderedSet - 修复?
Posted
技术标签:
【中文标题】CoreData NSOrderedSet - 修复?【英文标题】:CoreData NSOrderedSet - Fix? 【发布时间】:2014-02-27 20:46:20 【问题描述】:今天我的第一个 CoreData 步骤遇到了一些麻烦,发现了这个帖子:Exception thrown in NSOrderedSet generated accessors
我可以通过 cocoapods 加载这个问题,这样我就不必做一些愚蠢的解决方法了吗? 我找不到一个并自己实现所有访问器我不是我使用生成器的:-)
【问题讨论】:
这个答案***.com/a/14453262/1187415 可能很有趣。 【参考方案1】:如果您决定放弃并实施(傻 - 我知道)workaround(覆盖生成器),那么这就是它的示例:
- (void)addInvitesObject:(Invite *)value
NSMutableOrderedSet* tempSet = [NSMutableOrderedSet orderedSetWithOrderedSet:self.invites];
[tempSet addObject:value];
self.invites = tempSet;
- (void)removeInvitesObject:(Invite *)value
NSMutableOrderedSet* tempSet = [NSMutableOrderedSet orderedSetWithOrderedSet:self.invites];
[tempSet removeObject:value];
self.invites = tempSet;
【讨论】:
这与对链接问题(例如***.com/a/7922993/1187415)给出的答案有何不同?【参考方案2】:没有其他解决方法,因为 Apple 尚未修复它。
您的选择包括:
为您的有序集合/关系覆盖访问器 如果没有必要,不要使用有序关系(这并不像听起来那么奇怪 - 问问自己存储的顺序在你的相关图表中是否重要) 为您的模型使用mogenerator,它为您的所有属性和关系提供了方便的访问器,包括对象和原始值的访问器,在这种情况下,这可能是您所需要的对我来说,我无法想象没有发电机的生活。 :-) Apple 真的应该推出类似的产品。
【讨论】:
mogenerator 创建的访问器能否正确处理有序关系? 实际上,是的。例如,我有一个包含有序items
的模型。我可以写 - [self.itemsSet addObject:item];
。 Mogenerator 抽象了不断变化的模型属性和关系(随着您的开发),让您实现更高级别的模型细节。阅读它 - 它绝对让生活更轻松。
一个好点是“按顺序存储”。一个很好的副作用是通过索引访问。但我相信,我在这家伙身上冷冷地解决了这个问题。太感谢了以上是关于CoreData NSOrderedSet - 修复?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 SwiftUI 中从 FetchedResults (CoreData) 中获取 NSOrderedSet
Coredata 和 NSOrderedSet - 如何定义集合的顺序?
在 CoreData 中使用 NSOrderedSet 重新排序 UITableView