属性の最大値の NSFetchRequest 。
しかし、結果は毎回異なるものになります。
これは私のコードです。
- (NSInteger)getMaxTimeStamp
{
NSManagedObjectContext *context = [デリゲート managedObjectContext];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
[fetchRequest setEntity:[NSEntityDescription entityForName:@"Relation" inManagedObjectContext:context]];
[fetchRequest setIncludesPropertyValues:NO]; //only fetch the managedObjectID
NSSortDescriptor *sort = [[NSSortDescriptor alloc]
initWithKey:@"ts" ascending:NO];
[fetchRequest setFetchLimit:1];
[fetchRequest setSortDescriptors:[NSArray arrayWithObject:sort]];
NSError * error = nil;
Relation *relation = [context executeFetchRequest:fetchRequest error:&error].lastObject;
//error handling goes here
if (error) {
NSLog(@"ERROR: %@",[error localizedDescription]);
}
if (relation.ts) {
return (NSInteger)relation.ts;
}else {
return 0;
}
}
結果ログのために10回ループしました
- 2012-07-03 11:05:55.831 Edusorf[1956:15803] 最大タイム スタンプ: 136934464
- 2012-07-03 11:05:55.831 Edusorf[1956:15803] 最大タイム スタンプ: 137170400
- 2012-07-03 11:05:55.832 Edusorf[1956:15803] 最大タイム スタンプ: 137106624
- 2012-07-03 11:05:55.832 Edusorf[1956:15803] 最大タイム スタンプ: 137154096
- 2012-07-03 11:05:55.833 Edusorf[1956:15803] 最大タイム スタンプ: 137107392
- 2012-07-03 11:05:55.833 Edusorf[1956:15803] 最大タイム スタンプ: 137115728
- 2012-07-03 11:05:55.833 Edusorf[1956:15803] 最大タイム スタンプ: 137110608
- 2012-07-03 11:05:55.834 Edusorf[1956:15803] 最大タイム スタンプ: 136828592
- 2012-07-03 11:05:55.834 Edusorf[1956:15803] 最大タイム スタンプ: 136995824
- 2012-07-03 11:05:55.835 Edusorf[1956:15803] 最大タイム スタンプ: 136925072
誰か助けてくれませんか?thx~~