Core Data是否缓存瞬态属性?

Ben*_*ieb 4 iphone core-data

我有以下场景:

  • 具有用于切片的瞬态属性的实体
  • 基于Web的数据模型定期刷新
  • NSFetchedResultsController

一切正常,但是当我刷新时,这个瞬态属性似乎已经过时了.

该属性由我的实体对象中的访问者返回.我尝试在访问器中设置一个断点,并注意到我的应用程序启动时我的NSFetchedResultsController实际上没有调用它.这似乎表明Core Data正在某处缓存此值(因为我的表仍然是正确的部分).有没有办法清除这个缓存?

Mas*_*aro 8

是.使用

+ (void)deleteCacheWithName:(NSString *)name;
Run Code Online (Sandbox Code Playgroud)

名称是您在NSFetchedResultsController初始化时调用时提供的名称

- (id) initWithFetchRequest:(NSFetchRequest *)fetchRequest managedObjectContext:(NSManagedObjectContext *)context sectionNameKeyPath:(NSString *)sectionNameKeyPath cacheName:(NSString *)name;
Run Code Online (Sandbox Code Playgroud)

设置cacheName参数.

或者,你能避免核心数据在缓存中的数据NSFetchedResultsController初始化时间:简单地传递nilcacheName参数.