作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我的 iOS 应用程序中有一个 NSManagedObject。该对象称为 Round。在 Round 中,我与一堆 Person 对象有一对多关系。
xCode 使用 NSSet 作为我与 Person 托管对象的一对多关系的数据类型生成我的托管对象类。
所以我的 Round 托管对象看起来像这样:
@interface Round : NSManagedObject
{
}
@property (nonatomic, retain) NSSet* people;
@end
但是 NSSet 不是一个有序的集合,我想保留我用来保存这些 Person 对象的 NSArray 的顺序,因为我将它分配给我的 Round 托管对象。
我尝试将我的 NSArray 转换为 NSSet,但是集合的原始顺序没有保留。
我尝试在我的 Round 托管对象中将类型从 NSSet 更改为 NSArray,但在运行时出现以下错误。
2011-03-11 14:00:06.950 SkeetTracker[42782:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: **'Unacceptable type of value for to-many relationship: property = "people"; desired type = NSSet; given type = __NSArrayM;** value = ( " (entity: Person; id: 0x5bed0c0 ; data: {\n firstName = Todd;\n lastName = McFarlane;\n round = \"0x5bf2cb0 \";\n scores = \"\";\n})",
有没有人遇到过这样的事情并且知道解决办法?
亲切的问候,乔治
最佳答案
我相信 iOS 5 实际上已经内置了它 - 但无论如何,如果您想要一个持久 排序顺序,您需要有一个存储的属性,您可以创建一个 NSSortDescription
来自。然后再添加一个返回 [NSSet sortedArrayUsingDescriptors:self.unsortedSetMethod]
数组的方法(我更喜欢只读属性,这样我也可以点访问它)。
关于iOS : Core Data: How to retain an ordered set of objects in a managed object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5278931/
我是一名优秀的程序员,十分优秀!