通过id对获取请求中的实体进行排序

时间:2012-05-24 06:50:31

标签: iphone ios core-data

我有一个名为Store的模型。在这里,我有name, location, phone等属性。我想像在SQL中那样对Id上的商店进行排序,但是这可能吗?通常,框架会为您添加自动ID。如果Core Data这样做我如何获得该值,并且可以对该值进行排序吗? 我是否需要在模型中添加一个字段并自行处理,这是我不想要的。

我看到了一些关于使用Date字段并让它的默认值为“NOW”的信息,这是你怎么做的?在这种情况下,您是否添加默认值?

2 个答案:

答案 0 :(得分:0)

按ID(或主键)排序是不受支持的方案。有关类似的重复帖子,请参阅CoreData: How to sort NSManagedObject by its primary key?

答案 1 :(得分:0)

您似乎希望将id作为创建日期的代理。我建议您添加类型为timestamp的属性NSDate,并在创建新的托管对象实例时将其初始化为[NSDate date]。然后你只需按顺序排序。

newStore.timestamp = [NSDate date];

[NSSortDescriptor sortDescriptorWithKey:@"timestamp" ascending:YES];

顺便说一下,这是旧Apple项目模板的默认实现。