我有两个实体Event
,Action
它们都从继承Message
。我读过,不使用单表继承对性能更好。事件和操作在应用程序中用作按日期排序的消息数组。目前,我只是分别选择事件和操作,然后合并/排序新数组。
NSArray *events = [STEvent MR_findAll];
NSArray *actions = [STAction MR_findAll];
NSMutableArray *messages = [[NSMutableArray alloc] initWithArray:events];
[messages addObjectsFromArray:actions];
NSArray *messagesSorted;
messagesSorted = [messages sortedArrayUsingComparator:^NSComparisonResult(id a, id b) {
NSDate *first = [(STMessage*)a date];
NSDate *second = [(STMessage*)b date];
return [first compare:second];
}];
是否可以使用Magical Record或Core Data进行类似SQL UNION的查询以一次检索所有内容?
从概念上讲,我认为您想Message
在单个查询中获取的所有子类。这样思考可以为您提供如何在代码中执行此操作的线索:
NSFetchRequest *request = [Message MR_requestAll];
request.includesSubentities = YES;
NSArray *eventsAndActions = [Message MR_executeFetchRequest:request];
//...continue on
此查询将包括所有的情况下Message
,Event
和Action
,但是。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句