nsfetchedResultsController
全部标签 我有一个连接到NSFetchedResultsController的UITableView(带有自定义单元格,如果这很重要)。我的应用程序还使用推送通知。当远程通知到达时,我分两个阶段更新我的(核心)数据模型:1)获取标题(带有一些自定义数据)并将其存储为新的核心数据Entity。这里我调用了NSManagedObjectContextsave()。NSFetchedResultsController获取插入并使用NSFetchedResultsChangeType=NSFetchedResultsChangeInsert触发它的委托(delegate)方法didChangeObjec
经过几天的研究和重新编码,我几乎被难住了。我的目标是让一个测试应用程序运行,其中包含一个由两个单独的fetchedResultControllers填充的TableView。我在购物list上有一系列商品,每个商品都有一个部门和一个bool值“已收集”标志。未收集的项目应按部门列出,然后是包含所有已收集项目(无论部门)的单个部分。当用户勾选未收集的项目时,他们应该向下移动到“已收集”部分。如果他/她取消选中收集的项目,则应将其移回正确的部门。为了实现第一部分(未收集的项目),我设置了一个简单的fetchedResultsController,它获取collected=NO的所有项目,并
我正在尝试构建一个使用CoreData的iPad应用程序。但我面临着设计和编码问题。假设我将一个UIViewController添加到我的窗口并在该ViewController内,我需要显示两个TableView(2个不同的实体)和2个View(另外2个实体)(因此我需要为一个UIViewController获取4个实体)。我只找到了解释如何将NSFetchedResultsController与一个UITableView一起使用的教程!我的问题是:我应该在我的viewController中声明2个UITableView和2个NSFetchedResultsController吗?或者
我正在将应用的核心数据移至MagicalRecord。为了更新UITableView,我以前有这段代码:-(NSFetchedResultsController*)fetchedResultsController{if(_fetchedResultsController!=nil){return_fetchedResultsController;}NSFetchRequest*fetchRequest=[[NSFetchRequestalloc]init];NSEntityDescription*entity=[NSEntityDescriptionentityForName:@"En
我的iOS核心数据数据库中有一组实体对象,用于描述某个位置的某些内容。我们称该实体为Location。我通过Location上的两个属性来实现这一点,这些属性指的是位置——纬度和经度,都是double值。还有其他元素,例如名称。我正在使用NSFetchedResultsController将实体绑定(bind)到UITableViewController。我想要做的是根据到给定CLLocationCoordinate2D的距离对结果进行排序。在真正理想的情况下,我能够刷新该列表以根据新位置重新计算排序。因此,这种排序将取决于两个键和第三个“静态”变量(一个在集合中的项目之间不发生变化的
我有具有NSDate属性的对象,我需要将它们分成两部分(第一部分-future事件,第二部分-历史事件),然后对于第一部分,我需要按日期属性按升序对它们进行排序,第二部分部分按降序排列。知道如何进行排序吗? 最佳答案 假设您使用的是NSFetchedResultsController,底层提取必须以一种或另一种方式排序。我可以想到两种不同的解决方案:使用两个具有互补谓词的独立FRC,以便一个处理过去的事件,而另一个处理future的事件。一个将按升序排序,另一个按降序排序。问题是两个FRC都会为第0节生成indexPaths。因此,
在我的TableView中使用NSFetchedResultsController时,数据在创建新的NSManagedObject后立即正确显示,但所有行/部分在更新后都被删除。下面,当调用update()方法并保存联系人时,我的打印语句输出行和部分正在从TableView中删除。调用create()方法时,将插入行/节(如预期的那样)。运行后两组不同的输出:从API请求中检索到信息后,如果该项目已经存在(由唯一ID指定),我将更新相应的核心数据模型,如下所示:funcupdate(oldContact:NSManagedObject)->Bool{//updatescontactle
我在使用NSFetchedResultsController时遇到了一些问题。我有子类FRCclassInboxFetchResultsController:NSFetchedResultsController{overrideinit(){letappDelegate=UIApplication.sharedApplication().delegateas!AppDelegateletfetchRequest=NSFetchRequest(entityName:"Compliment")letfirstSortDescriptor=NSSortDescriptor(key:"upda
这是我的Message.swift文件:@objc(Message)classMessage:NSManagedObject{@NSManagedvarcontent:String@NSManagedvarcreatedAt:NSDate@NSManagedvaridentifier:Int64@NSManagedvarconversation:Conversation@NSManagedvarsender:ContributorvarnormalizedCreatedAt:NSDate{returncreatedAt.dateWithDayMonthAndYearComponents
我有一个不断滚动的UICollectionView。当用户滚动时,Controller为新页面发出API请求,通常在用户到达她的提要底部之前加载下一页。但是,当UIViewController通过fetchedResultsController更新新数据时,滚动会停止,即使项目不在屏幕上也是如此。这会导致用户出现故障的滚动体验。如何停止中断滚动?这就是我实现插入的方式:https://stackoverflow.com/a/28878296/310385编辑这似乎不是在主线程上执行暂停操作的问题。似乎正在主动停止滚动。我运行了以下代码:funcupdateCollection(){co