核心数据,你会
- 抓取对象,其中
syncDataType == 1
,
- 排序条件为
syncLastSuccessOnDt
下降,并
- 限制结果设置为1
所以你需要什么是NSFetchRequest
。 (该NSPredicate
只有一个 读取请求的参数。)
NSManagedObjectContext *context = your managed object context
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"SyncEntry"];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"syncDataType = %d", 1];
[request setPredicate:predicate];
NSSortDescriptor *sort = [NSSortDescriptor sortDescriptorWithKey:@"syncLastSuccessOnDt" ascending:NO];
[request setSortDescriptors:@[sort]];
[request setFetchLimit:1];
NSError *error;
NSArray *results = [context executeFetchRequest:request error:&error];
if (results == nil) {
// Error
} else if ([results count] == 0) {
// Nothing found
} else {
NSManagedObject *obj = results[0];
NSDate *lastSync = [obj valueForKey:@"syncLastSuccessOnDt"];
}
如果您已经创建了一个管理对象子SyncEntry
对你的实体,最后一部分可以 写成
SyncEntry *obj = results[0];
NSDate *lastSync = obj.syncLastSuccessOnDt;
感谢[request setFetchLimit:1]; – skartys 2013-05-19 13:24:52