核心数据缓存瞬态属性?
问题描述:
我有以下情形:有一过性属性核心数据缓存瞬态属性?
- 实体用于切片定期刷新
- NSFetchedResultsController
一切正常
该属性由我的实体对象中的accesssor返回。我试着在存取器中设置一个断点,并注意到它在我的应用程序启动时和我的NSFetchedResultsController时并未实际调用。这似乎表明Core Data在某处缓存了这个值(因为我的表格仍然正确)。有没有办法清除这个缓存?
答
是的。使用
+ (void)deleteCacheWithName:(NSString *)name;
的名字是你叫
- (id) initWithFetchRequest:(NSFetchRequest *)fetchRequest managedObjectContext:(NSManagedObjectContext *)context sectionNameKeyPath:(NSString *)sectionNameKeyPath cacheName:(NSString *)name;
设置cacheName
参数时,在NSFetchedResultsController
初始化时间,提供了一个。
或者,您可以在NSFetchedResultsController
初始化时间期间避免核心数据缓存数据:只需传递nil
即可获得cacheName
参数。
这属于NSFetchedResultsController;操作系统是否在应用程序运行之间缓存这些结果? – 2010-02-03 17:58:07
从NSFetchedResultsController文档中获得:“缓存在应用程序启动时保持不变”。 – 2010-02-03 18:33:20
辉煌,谢谢! – 2010-02-03 18:39:49