Emi*_*iOS 5 core-data objective-c nssortdescriptor nsfetchedresultscontroller ios
这是一个非常简单的问题.
我有一个使用本地文件初始化的CoreData数据库.CoreData架构如下所示:
Category -->> Objections -->> Responses -->> Evidence
Run Code Online (Sandbox Code Playgroud)
(" - >>"表示有很多)
我正在使用NSFetchedResultsController从核心数据中检索对象.很标准.
NSEntityDescription *entity = [NSEntityDescription entityForName:NSStringFromClass([OHObjection class])inManagedObjectContext:self.managedObjectContext];
[fetchRequest setEntity:entity];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"[suitable key]" ascending:YES];
NSArray *sortDescriptors = @[sortDescriptor];
[fetchRequest setSortDescriptors:sortDescriptors];
NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:self.managedObjectContext sectionNameKeyPath:@"category.objectionCategoryText" cacheName:nil];
Run Code Online (Sandbox Code Playgroud)
每个"To To"关系都是有序的.
问题:是否可以按创建顺序获取数据而不使用时间戳或显式设置我自己的ID?
注意:我没有反对使用时间戳或创建自己的ID,我只想知道是否可能.
谢谢
创建顺序未记录在数据存储区中,因此不会。
如果您有一个有序的关系,并且确保以与创建对象相同的顺序将对象添加到该关系中,则将保留该顺序。但是,您不会通过直接获取对象来获得该信息,而是通过遍历该关系(即通过在具有顺序关系的对象上查找它们)来实现。
对于任何其他情况,唯一的排序是您分配的排序-时间戳,唯一ID等。
如果使用时间戳,请确保使用足够的精度来处理循环中创建的多个对象(例如,几乎可以肯定的是1秒的精度不够好)。如果使用递增的ID,请确保在单个队列中分配值,以避免多线程重复。
| 归档时间: |
|
| 查看次数: |
3820 次 |
| 最近记录: |