我目前没有使用核心数据,但我现在要从Realm切换到它,如果我确定某件事可行,这对我目前的申请方式至关重要作品。我有一个有两个对象的模型:
Message:
date - NSDate
text - String
images - One-to-many > Image
Image:
imageURL - String
message - Many-to-one > Image
我有一个表格视图,同时显示图像和消息。我需要知道什么应该在某个索引路径上,因为UITableView想要知道。所以我需要能够执行类似于以下的查询:
"给我一个有序的图像和消息列表,按date
排序的消息和按message.date
"排序的图像。
我怎么能这样做?
答案 0 :(得分:1)
据我所知,在coredata获取请求期间,您无法对带有消息和图像的混合数组进行排序。这是一种可能的方式:
- (NSArray *)sortedArrayUsingFunction:(NSInteger (*)(id, id, void *))comparator context:(void *)context
功能
NSInteger sort(id item1, id item2, void *context) {
int v1 = [item1 iskindofClass[message class]]?item1.data:item1.message.date;
int v2 = [item2 iskindofClass[message class]]?item1.data:item1.message.date;
if (v1 < v2)
return NSOrderedAscending;
else if (v1 > v2)
return NSOrderedDescending;
else
return NSOrderedSame;
}