NSFetchRequest表示属性的最大值。每次结果都不同

时间:2012-07-03 02:26:42

标签: iphone objective-c nsfetchrequest

NSFetchRequest获取属性的最大值。

但每次结果都变成了不同的结果。

这是我的代码。

- (NSInteger)getMaxTimeStamp
{
    NSManagedObjectContext *context = [delegate 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 ~~

1 个答案:

答案 0 :(得分:0)

在数据模型中将ts类型更改为日期。