获取请求中的一些奇怪结果 - 核心数据
Posted
技术标签:
【中文标题】获取请求中的一些奇怪结果 - 核心数据【英文标题】:Some weird results in fetch request - Core Data 【发布时间】:2014-02-06 12:32:59 【问题描述】:我有以下谓词,但在获取请求后我得到了一些非常奇怪的结果。
谓词:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"parkingEndTime > %f",floor(timestamp)];
例子:
时间戳 = 1 391 689 631 结果:1 391 689 612 1 391 689 625这里是完整的代码:
+ (NSArray *)getParkedCars
AppDelegate *myAppDelegate = [[UIApplication sharedApplication] delegate];
NSManagedObjectContext *ctx = [myAppDelegate getThreadSafeManagedObjectContext];
NSFetchRequest *request = [[NSFetchRequest alloc] initWithEntityName:@"Car"];
NSTimeInterval timestamp = [[NSDate date] timeIntervalSince1970];
NSLog(@"Parking End Time: %f",floor(timestamp));
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"parkingEndTime > %f",floor(timestamp)];
[request setPredicate:predicate];
NSError *error = nil;
NSArray *result = [ctx executeFetchRequest:request error:&error];
NSLog(@"Fetched request: %@",[result firstObject]);
return result;
【问题讨论】:
尝试在谓词中使用%lf
【参考方案1】:
通过在比较之前将其转换为 NSNumber 来修复:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"parkingEndTime > %@",@(floor(timestamp))];
【讨论】:
以上是关于获取请求中的一些奇怪结果 - 核心数据的主要内容,如果未能解决你的问题,请参考以下文章