核心数据缓存瞬态属性?

问题描述:

我有以下情形:有一过性属性核心数据缓存瞬态属性?

  • 实体用于切片定期刷新
  • NSFetchedResultsController

一切正常

  • 基于Web的数据模型,但是当我做刷新,即瞬态属性似乎越来越过时。

    该属性由我的实体对象中的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参数。

    +0

    这属于NSFetchedResultsController;操作系统是否在应用程序运行之间缓存这些结果? – 2010-02-03 17:58:07

    +0

    从NSFetchedResultsController文档中获得:“缓存在应用程序启动时保持不变”。 – 2010-02-03 18:33:20

    +0

    辉煌,谢谢! – 2010-02-03 18:39:49