关于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 方法

你可能感兴趣的:(关于MagicalRecord的一些小技巧)