我有一个名为Store
. 在这我有诸如之类的属性name, location, phone
。我想像您在 SQL 中那样对 ID 上的商店进行排序,但这可能吗?通常,框架会为您添加一个自动 ID。如果 Core Data 这样做,我如何获得该值,并且是否可以对该值进行排序?我是否需要在模型中添加一个字段并自己处理,这是我不想要的。
我看到了一些关于使用日期字段并让它有一个默认值“现在”的东西,你是这样做的吗?在那种情况下,您是否添加默认值?
按 id(或主键)排序是不受支持的方案。请参阅CoreData:如何按主键对 NSManagedObject 进行排序?对于类似的重复线程。
您似乎希望将 id 作为创建日期的代理。我建议您在创建新的托管对象实例时添加timestamp
类型属性NSDate
并将其初始化。[NSDate date]
然后,您只需按此排序。
newStore.timestamp = [NSDate date];
和
[NSSortDescriptor sortDescriptorWithKey:@"timestamp" ascending:YES];
顺便说一句,这是旧 Apple 项目模板的默认实现。