Iphone 带有NSdate谓词的NSFetchrequest
我有一个Iphone 带有NSdate谓词的NSFetchrequest,iphone,ios,objective-c,nsdate,nsfetchrequest,Iphone,Ios,Objective C,Nsdate,Nsfetchrequest,我有一个实体,其中包含具有NSDate(格式yyyy-MM-dd)的对象。现在,我只想对当前具有NSDate的对象执行获取请求。因此,我正在做以下工作 NSDate *now = [NSDate new]; RKManagedObjectStore *store = [[DominoDataModel sharedDataModel] objectStore]; NSManagedObjectContext *context = store.mainQueueManagedObj
实体
,其中包含具有NSDate(格式yyyy-MM-dd)
的对象。现在,我只想对当前具有NSDate
的对象执行获取请求。因此,我正在做以下工作
NSDate *now = [NSDate new];
RKManagedObjectStore *store = [[DominoDataModel sharedDataModel] objectStore];
NSManagedObjectContext *context = store.mainQueueManagedObjectContext;
NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Event"];
NSPredicate *predicate = [NSPredicate predicateWithFormat:
@"eve_date = %@",now];
fetchRequest.predicate = predicate;
NSSortDescriptor *descriptor = [NSSortDescriptor sortDescriptorWithKey:@"eve_date" ascending:YES];
fetchRequest.sortDescriptors = @[descriptor];
NSArray *matches = [context executeFetchRequest:fetchRequest error:nil];
arrConcerten = [matches mutableCopy];
NSLog(@"matches %@",matches);
MyNSLog
始终不返回匹配项
有人能帮我吗
编辑
我的实体包含如下日期:
2013/08/29
2013/08/30
2013/09/02
2013/09/15
2013/09/28
我以为我可以把这些日期和今天的日期比较一下?但这可能不起作用,因为我的实体中的NSDates没有时间戳?您的日期是一个时间戳,它也包含秒等。您需要的是一个“介于”谓词
NSPredicate *subPredFrom = [NSPredicate predicateWithFormat:@"eve_date >= %@ ", dateFrom];
[subpredicates addObject:subPredTo];
NSPredicate *subPredTo = [NSPredicate predicateWithFormat:@"eve_date < %@", dateTo];
[subpredicates addObject:subPredFrom];
您的日期是一个时间戳,它也包含秒等。您需要的是一个“between”谓词
NSPredicate *subPredFrom = [NSPredicate predicateWithFormat:@"eve_date >= %@ ", dateFrom];
[subpredicates addObject:subPredTo];
NSPredicate *subPredTo = [NSPredicate predicateWithFormat:@"eve_date < %@", dateTo];
[subpredicates addObject:subPredFrom];
没有带“格式”的NSDate
。确切地说,eve\u date
属性中的值是什么?这(几乎)与您前面的问题不一样吗你必须与“一天的开始”和“第二天的开始”进行比较。@Carlvaezey我编辑了我的问题,它看起来不像是一个格式化的日期字符串。当您查看底层持久存储时,您会发现哪些值?或者,您如何在代码中填充这些日期?没有带“格式”的NSDate
。确切地说,eve\u date
属性中的值是什么?这(几乎)与您前面的问题不一样吗你必须与“一天的开始”和“第二天的开始”进行比较。@Carlvaezey我编辑了我的问题,它看起来不像是一个格式化的日期字符串。当您查看底层持久存储时,您会发现哪些值?或者,如何在代码中填充这些日期?