草庐IT

NSFetchedresultscontroller

全部标签

ios - 核心数据 - NSManagedObjectContext 与 NSFetchedResultsController

根据NSFetchedResultsController的苹果文档:YouuseafetchedresultscontrollertoefficientlymanagetheresultsreturnedfromaCoreDatafetchrequesttoprovidedataforaUITableViewobject.根据NSManagedObjectContext的文档:Itsprimaryresponsibilityistomanageacollectionofmanagedobjects.这两个类的目的似乎是重叠的。两者都“管理获取的托管对象”。也许措辞上的差异确实意味着什么

iphone - NSFetchedResultsController 的部分名称与托管对象值不匹配

我正在使用NSFetchedResultsController来填充UITableView,其中包含来自约1500个实体的中等大小核心数据存储的结果。结果Controller相当标准-一些潜在错误的“热点”不适用于此设置。在相同的(主)线程上创建的托管对象上下文作为其使用不使用缓存(因为排序经常变化)sectionNameKeyPath用于将结果分成多个部分然而,我的部分结果非常奇怪。例如,考虑这个用于设置节标题View标题的方法:-(NSString*)titleForHeaderInSection:(NSInteger)section{idsectionInfo=[[self.re

ios - NSFetchedResultsController didChangeObject indexPath 为空

我正在使用NSFetchedResultsController来管理带有CoreData的PSTCollectionView的实现。当我实现以下方法时,indexPath和newIndexPath参数都为null-(void)controller:(NSFetchedResultsController*)controllerdidChangeObject:(id)anObjectatIndexPath:(NSIndexPath*)indexPathforChangeType:(NSFetchedResultsChangeType)typenewIndexPath:(NSIndexPat

objective-c - 防止在 TableView 处于编辑模式时更新 NSFetchedResultsController

我正在使用一个NSFetchedResultsController和一个在后台更新的数据源。这非常有效——因为新对象被保存到托管上下文中,它们出现在UITableView中。但是,这导致了我遇到的问题。当你滑动删除一个单元格,将单元格置于编辑模式时,如果此时创建了一个对象将单元格在表格View中向下推,单元格占据的位置将处于编辑模式,而不是您选择的单元格。基本上,UITableView保留了原始索引路径上的编辑模式,没有针对单元格的移动进行调整。有什么办法可以解决这个问题吗?到目前为止,我尝试过的一切都走向了死胡同。 最佳答案 让我

ios - NSFetchedResultsController 和实体继承

我的模型事件中有一个父实体。还有两个子实体:生日、周年纪念日。我正在使用核心数据中内置的实体继承功能,这样生日和周年纪念日的父对象就是Event。所以我使用以下方法进行提取:NSFetchRequest*fetchRequest=[[NSFetchRequestalloc]init];NSEntityDescription*entity=[NSEntityDescriptionentityForName:@"Event"inManagedObjectContext:self.managedObjectContext];[fetchRequestsetEntity:entity];//S

ios - NSFetchedResultsController 加载整个数据和糟糕的性能

我有一个包含8000多个条目的大型数据库。我想在tableview中加载和列出。我使用了NSFetchedResultsController。除了性能不佳外,它工作正常。我找到了教程here并在viewDidLoad:方法中添加了我的performFetch:方法。但是加载View需要2-3秒。这是我的代码。-(void)loadFetchResultsController{NSError*error;if(![[selffetchedResultsController]performFetch:&error]){//Updatetohandletheerrorappropriatel

iphone - 在 NSFetchedResultsController 中设置 NSSortDescriptor 键的问题

关于上面的关系图,早些时候,我在Assignment和Question实体之间有太多关系,为了解决问题顺序问题,这被打破了。现在Assignment到Question的关系是通过连接表AssignmentQuestion实现的。这里的想法是根据AssignmentQuestion表的questionOrderIndex属性对问题进行排序。我正在通过NSFetchResultController获取作业问题。我写了一个谓词来相应地提取问题。但是由于我希望问题基于questionOrderIndex进行排序,因此我通过问题实体对排序描述符的排序键是assignmnetQuestion.qu

ios - 使用 NSFetchedResultsController 在表格顶部插入单元格

我的应用程序正在使用核心数据,我正在使用NSFetchedResultsController来填充我的表。但是,当我插入一个新单元格时,它会以字母顺序方式(升序或降序-根据sortDescriptor)插入到表中。我希望它只插入顶部。我尝试注释掉sortDescriptor但应用程序崩溃,因为NSFetchedResultsController需要一个。知道我该如何解决吗?我有一个问题可能不是那么相关。现在我的应用程序有核心数据,稍后我想添加icloud支持。那么我是否必须在我的代码中遵循NSFetchedResultsController方法,以便我的应用程序稍后可以为icloud准

ios - 推送后保存 objectAtIndex 时 NSFetchedResultsController 崩溃

我的应用程序中有两个UIViewControllers(与这个问题相关)。他们每个人都有一个NSFetchedResultsController,对同一个名为News的entity发出请求。它们也有相同的排序描述符,并且使用相同的UITableViewCell子类来显示所有内容。它们也都符合NSFetchedResultsControllerDelegate并运行委托(delegate)方法。唯一的区别是第一个ViewController,我将其称为SummaryVC,只显示第一个(最多)6个获取的对象。而另一个NewsFeedVC显示了所有对象,它还会对更多对象的下载进行分页。因此S

ios - -[UITableView _endCellAnimationsWithContext :] with NSFetchedResultsController 中的断言失败

我有2个托管对象上下文:(1)创建为NSMainQueueConcurrencyType,供UI/主线程使用,(2)创建为NSPrivateQueueConcurrencyType,供UI/主线程使用网络。这两个上下文都进入持久存储(即,我没有使用父/子上下文)。对于ViewController,我使用一个UITableViewController和一个使用第一个UI管理对象上下文的NSFetchedResultsController。我正在通过观察NSManagedObjectContextDidSaveNotification将第二个托管对象上下文中的更改合并到第一个上下文中。应用