关于MagicalRecord的一些小技巧
2015-10-29 本文已影响869人
南国青天
这篇文章假定你已经大概熟悉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];
话不多说,高下立判