【发布时间】:2014-09-24 03:30:25
【问题描述】:
我在 coredata 中创建了一个实体,它包含一个 Date 类型的属性。那么我怎样才能找到存储在那里的日期的最大值。
【问题讨论】:
我在 coredata 中创建了一个实体,它包含一个 Date 类型的属性。那么我怎样才能找到存储在那里的日期的最大值。
【问题讨论】:
NSString * yourEntityName = @"Entity";
NSString * yourDateAttributeName = @"date";
NSFetchRequest * fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:yourEntityName
inManagedObjectContext:ctx];
[fetchRequest setEntity:entity];
[fetchRequest setPropertiesToFetch:@[yourDateAttributeName]];
[fetchRequest setFetchLimit:1];
// Edit the sort key as appropriate.
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:yourDateAttributeName ascending:NO];
NSArray *sortDescriptors = @[sortDescriptor];
[fetchRequest setSortDescriptors:sortDescriptors];
NSError * error = nil;
NSArray * results = [ctx executeFetchRequest:fetchRequest error:&error];
NSManagedObject * yourEntityObject = [results firstObject];
NSDate * date = [yourEntityObject valueForKey:yourDateAttributeName];
【讨论】: