首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSFetchedResultsController,修改NSFetchRequest?

NSFetchedResultsController,修改NSFetchRequest?
EN

Stack Overflow用户
提问于 2012-09-03 23:12:43
回答 1查看 266关注 0票数 2

我已经设置了一个NSFetchRequestController,它在其initWithFetchRequest:参数中使用三个计算机前的objectID作为NSPredicate

代码语言:javascript
复制
NSManagedObjectContext *moc = [[self managedDocument] managedObjectContext];
[self setFetchedResultsController:[[NSFetchedResultsController alloc]initWithFetchRequest:fRequest
                                                                     managedObjectContext:moc
                                                                       sectionNameKeyPath:nil
                                                                                cacheName:nil]];

我的问题是,一旦我设置了我的NSFetchedResultsController,当数据库中有新数据可用时,有没有办法修改控制器使用的NSFetchRequest。我注意到请求是readOnly的,所以这就是问题所在,有没有其他可用的选项?

编辑:

我在想,我需要更改整个请求,但也许我可以使用现有的NSFetchedResultsController和现有的NSFetchRequest设置一个新的NSPredicate,这是不是这样做的方法?

EN

回答 1

Stack Overflow用户

发布于 2015-02-20 01:27:17

来自苹果文档:https://developer.apple.com/library/ios/documentation/CoreData/Reference/NSFetchedResultsController_Class/

修改获取请求的

您不能简单地更改fetch请求来修改结果。如果要更改获取请求,则必须:

如果您正在使用缓存,请删除它(使用deleteCacheWithName:)。

通常,如果要更改fetch请求,则不应使用缓存。

更改获取请求。(修改谓词)

调用performFetch:。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12250420

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档