好的,情况就是这样。我正在制作一个程序,您可以在其中保存和加载包含文本和图像(一些非常大的图像)的文档。对于后端,我使用 CoreData和我自己的子类 UIManagedDocument
(我们称之为NotificationDocument
.NSManagedDocument
现在每个NotificationDocument
都有两个属性,代表它保存在哪个保存槽以及它保存的名称是什么。我有一个 TableView,它显示了我的文档列表以及它们所在的保存槽(例如:“保存槽 1:清洁模板”)。
但是,我需要永远填充这个 tableview。我正在做的是 viewDidLoad 是:
NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"NotificationDocument"];
NSArray *notifications = [self.database.managedObjectContext executeFetchRequest:fetchRequest error:nil];
怀疑我的程序运行如此缓慢似乎是合乎逻辑的,因为我正在完整检索所有通知文档并将它们移动到内存中。有没有更好(更快)的方法来做到这一点,因为我真的不需要所有的通知文档,我只需要它们的保存槽和保存名称属性。实现这一目标的最佳方法是什么?
我考虑过在 CoreData 中存储一个映射实体映射保存槽到保存在其中的名称。但是,如果有一种很好的方法可以在不保存完全独立的实体的情况下做到这一点,那将是可取的。谢谢。