草庐IT

NSFetchedResultsController-contro

全部标签

ios - NSFetchedResultsController - 用户驱动的更改

概览我有一个NSFetchedResultsController用户将能够添加新记录(编辑模式下的TableView)当用户点击添加按钮时,我能够检测到该事件并创建一个新的Car(NSManagedObject的子类,匹配NSFetchedResultsController的谓词)问题:如何在用户启动操作时在TableView中插入新行?根据我当前的实现,应用程序崩溃了。崩溃消息如下。如何准确检测模型更改何时生效?(根据崩溃消息,我觉得我插入行太早了)注意事项:我知道NSFetchedResultsControllerDelegate检测到模型更改,但问题是模型已更新,我需要Table

ios - 找不到 NSFetchedResultsController 的协议(protocol)声明

我的应用程序发生了一些奇怪的事情。前几天晚上一切正常,但现在当我加载xcode时,我在NSFetchedResultsControllerDelegate的application.h文件中出现“无法找到NSFetchedResultsController的协议(protocol)声明”错误#import#import#import#import@classDBRestClient;@interfaceDartScorerAppDelegate:NSObject{我没有更改此代码中的任何内容。我试过清理、取消链接框架并重新导入、取出对所有代码文件的引用并重新导入它们,但没有任何方法清除此

iphone - 延迟 NSFetchedResultsController 委托(delegate)方法

我有一个基于NSFetchedResultsController的UITableView。为了在表中插入一个新行,我打开了一个模态视图Controller,然后我点击了保存按钮,它关闭了模态视图并导致我的NSFetchedResultsController委托(delegate)方法(willChangeContent、didChangeObject`等)开火,动画插入新单元格。一切都很好,但我想让用户看到这个动画,当模态视图消失时,动画已经完成。我怎样才能延迟这个动画直到模态视图完全消失,以便用户可以看到动画? 最佳答案 这是一个

objective-c - NSFetchedResultsController - 从部分中删除所有行后崩溃

我将UITableView与NSFetchedResultsController一起使用。NSFetchedResultsControllerDelegate的所有方法的实现与Apple的文档类似。但是从数据库中删除所有部分的行后,我收到“无效更新”异常。委托(delegate)按以下顺序处理此操作:首先执行controller:didChangeSection:方法,移除空的section。然后执行controller:didChangeObject:方法,该方法尝试从已删除的部分中删除行。它会导致异常。我做错了什么以及如何处理这种情况?谢谢。 最佳答案

ios - NSFetchedResultsController 与来自其他模型的数据

我正在尝试使用来自NSFetchedResultsController的数据构建带有UITableView的应用程序。问题是-我需要在表格View中显示其他模型的一些额外数据。假设我有2个模型:学生和小组(我认为关系很明显:小组由许多学生组成,学生只能在一个小组中)。我正在尝试使用组列表构建UITableView。我还想知道每组的学生人数。(NSFetchedResultsController*)fetchController{if(!_fetchController){NSFetchRequest*fetchRequest=[[NSFetchRequestalloc]init];NS

ios - NSFetchedResultsController 尝试将第 1 行插入第 0 节,但在使用 userInfo(null)更新后第 0 节中只有 0 行

我将NSFetchedResultsController与UITableViewController一起使用。我成功地将新对象添加到分离View中的核心数据,ParseStarterProjectAppDelegate*appDelegate=[[UIApplicationsharedApplication]delegate];NSManagedObjectContext*context=[appDelegatemanagedObjectContext];NSManagedObject*newWorkout;newWorkout=[NSEntityDescriptioninsertNe

ios - 核心数据和 NSFetchedResultsController : ignoring fields in controllerDidChangeContent

我有一个后台线程执行后台更新,设置/覆盖几种NSManagedObjects上的字段。所有子类都包含一个lastModified属性,该属性在被后台任务处理时始终得到更新。我的问题是,当我这样做时,后台线程命中的所有实体也将触发controllerWillChangeContent/controllerDidChangeContent。即使什么都没有真正改变。如果我点击了一个setter(例如使用NSString但内容实际上并没有改变,它是否仍会触发更新或者CoreDate足够聪明以忽略它?是否可以在通知resultsControllers更改时以某种方式将属性标记为不包含?

ios - 更改无法识别我附加到后台线程的 NSFetchedResultsController

我正在使用MagicalRecord,但不确定这是MagicalRecord还是CoreData中的错误。当用户单击新按钮并将其保存到默认上下文时,我在我的UI线程中创建新实体:-(IBAction)saveToCoreData:(UIButton*)sender{NSManagedObjectContext*context=[NSManagedObjectContextMR_defaultContext];Report*report=[ReportMR_createInContext:context];report.dirty=[NSNumbernumberWithBool:YES]

ios - NSFetchedResultsController 不诉诸内容更改

我试图找出为什么我的NSFetchedResultsController实例在内容更改时似乎忽略了它的sortDescriptor。所有委托(delegate)方法等都被调用,但是当我正在排序的相关属性发生变化时,我只收到一个NSFetchedResultsChangeUpdate更改通知,并且没有发生内容求助:下面是我如何创建NSFetchedResultsController实例:NSManagedObjectContext*context=[UIApplicationmanagedObjectContext];_fetchRequest=[[NSFetchRequestalloc

iOS 10 : NSFetchedResultsController + UICollectionView, SIGABRT on performBatchUpdates

我正在使用这个gist用于FRC和UICollectionView。这在iOS9之前一直运行良好。现在,在iOS10中,有时我的应用程序会在collectionview的performBatchUpdates处因SIGABRT信号崩溃而崩溃。即使CollectionView从崩溃中逃脱,它也会进入1或2个单元格的昏迷状态。-(void)controllerDidChangeContent:(NSFetchedResultsController*)controller{//Checksifweshouldreloadthecollectionviewtofixabug@http://op