我有以下情况:
一切正常,但是当我刷新时,这个瞬态属性似乎已经过时了。
该属性由我的实体对象中的访问者返回。我尝试在访问器中设置一个断点,并注意到我的应用程序启动时我的NSFetchedResultsController实际上没有调用它。这似乎表明Core Data正在某处缓存此值(因为我的表仍然是正确的部分)。有没有办法清除这个缓存?
答案 0 :(得分:8)
是。使用
+ (void)deleteCacheWithName:(NSString *)name;
名称是您在NSFetchedResultsController
初始化期间提供的名称,在调用
- (id) initWithFetchRequest:(NSFetchRequest *)fetchRequest managedObjectContext:(NSManagedObjectContext *)context sectionNameKeyPath:(NSString *)sectionNameKeyPath cacheName:(NSString *)name;
设置cacheName
参数。
或者,您可以在NSFetchedResultsController
初始化时间内避免Core Data缓存数据:只需为nil
参数传递cacheName
。