关于MagicalRecord的一些小技巧

这篇文章假定你已经大概熟悉CoreDate和MagicalRecord框架的使用方法了.

1.如何在获取CoreDate数据进行多次排序

在需求狗面前, 必须要具备一些额外的技能才能应对自如. 比如他们要求一个数组里面要求根据时间倒序, 又要根据字母正序, 身为程序狗如何优雅的应对一些苛刻的排序要求.

CoreDate对于一个数据进行多次排序你需要下面代码:

NSFetchRequest *fr = [[NSFetchRequest alloc] init];
NSEntityDescription *ed = [NSEntityDescription entityForName:@"Note" inManagedObjectContext:[NSManagedObjectContext defaultContext]];
[fr setEntity:ed];
 
NSSortDescriptor *sd = [NSSortDescriptor
sortDescriptorWithKey:@"date" ascending:NO];
//根据时间倒序

NSSortDescriptor *sn = [NSSortDescriptor
sortDescriptorWithKey:@"name" ascending:YES];
//根据名字正序

[fr setSortDescriptors:@[sd,sn]];
 
NSError *error = nil;
NSArray *result = [[NSManagedObjectContext defaultContext] executeFetchRequest:fr error:&error];

MagicalRecord对与一个数据进行多次排序你只需要一行代码:

NSArray *result = [Note findAllSortedBy:@"date:NO,name" ascending:YES];

话不多说,高下立判

未完待续...

参考文献:
MagicalRecord Fetching 方法

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容