我想按日期先订购NSFetchRequest
,然后按名称匹配当天的订单。 我用一个UIDatePicker
来获得日期和使用核心数据按日期排序NSFetchRequest然后按字母顺序排序
[self.managedObject setValue:self.datePicker.date forKey:self.keypath];
保存和排序NSFetchRequest
这样的:
NSSortDescriptor *sortDescriptor1 = [[NSSortDescriptor alloc] initWithKey:@"day" ascending:NO];
NSSortDescriptor *sortDescriptor2 = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:NO];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor1, sortDescriptor2, nil];
[fetchRequest setSortDescriptors:sortDescriptors];
现在我的问题是,它只能根据日期和(不含税)通过名称,因为UIDatePicker
存储在核心数据的日期,但也是小时。所以即使在同一天,由于时间不同,也不会在同一天按“姓名”排序。 那么如何在核心数据中只保存日期mm/dd/yyyy而不是从UIDatePicker
开始保存?
或者您是否想过其他解决方案?
您需要从日期中删除时间。 http://stackoverflow.com/questions/4187478/truncate-nsdate-objective-c – 2012-02-07 20:00:58
你需要什么时间信息?如果没有,则可以在设置核心数据对象的时间时将时间组件设置为0。如果您需要它,您必须添加另一个使用NSDate而不包含时间分量或yyyymmdd字符串的属性。 – 2012-02-07 20:02:55