核心數據,你會
- 抓取對象,其中
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