【发布时间】:2012-12-03 17:07:43
【问题描述】:
我正在创建一个应用程序并使用核心数据存储数据。它工作正常,但我想知道从集合中返回排序数组的最佳方法是什么?
例如,我有一个实体 A(按钮),其中包含实体 B(图像)的列表。众所周知,核心数据使用 NSSet 存储多对多关系。但我想跟踪最初的订单,所以我为此添加了一个属性“订单”。 问题是在我的代码中我需要排序的图像列表,所以在一个类别文件(按钮+创建)中我创建了一个像这样的方法:
- (NSArray*)imagesArray
{
return [self.images sortedArrayUsingDescriptors:[NSArray arrayWithObject:[NSSortDescriptor sortDeacriptorWithKey:@"order" ascending:YES]]];
}
但我认为这不是最好的方法,因为如果需要从我的代码中的多个区域(不同的类)访问此列表,那么我需要对集合进行 x 次排序... 有没有办法在我的类别中添加一个数组(属性)以便排序一次然后只检索属性?
您对此有何看法?
谢谢
【问题讨论】:
-
您是否尝试过使用“有序关系”?请参阅“OS X v10.7 和 iOS 5.0 的核心数据发行说明”中的 Managed Objects。
-
@MartinR 这可能是解决方案,但我的目标是 iOS 4,所以我不能使用它,但无论如何谢谢
标签: iphone ios ipad core-data nsset