- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我一直在尝试按照 Marcus Zarra 的描述构建核心数据堆栈,其中他有一个私有(private)队列上下文和一个主队列上下文(其中主队列上下文是私有(private)队列上下文的子上下文)。
我相信我已经在 Swift 中忠实地重建(here)他所描述的 MCPersistenceController
(示例代码是 Obj-C)。
问题出在我的ListViewModel class (其中包含一个 NSFetchedResultsController
)。无论我尝试什么,当插入新的 Item
对象时,它的委托(delegate)回调(controllerDidChangeContent
等)都不会被调用。
FRC 和 NSFetchRequest 使用主上下文;该项目被插入到主要上下文中; save function保存主上下文,然后将更改合并到私有(private)队列中
如果我在插入和保存后对任一上下文执行手动 executeFetchRequest
,我确实会取回新创建的 Item
。
如果我监听 NSManagedObjectContextObjectsDidChangeNotification
通知,它们确实会在插入后触发。
当我重新启动应用程序时,我插入的 Item
现在会显示。
我只能假设这是在错误的线程上做某事的问题并且没有报告错误,但无论我尝试了什么,当我插入一个新的 Item
时,FRC 都不会触发委托(delegate)回调。可能是我错过了一些 Swift 的东西。
在这一点上,我非常感谢任何建议。
我的简单概念验证项目 (Swift 1.2) 在 GitHub 上. (我还没有接触到 CloudKit 的东西……)。
最佳答案
您的 ListViewModel
对象是一个纯 Swift 对象。获取的结果 Controller 使用 NSObject-descended 功能来检查委托(delegate)是否响应委托(delegate)方法。
@objc
class ListViewModel: NSFetchedResultsControllerDelegate{
修复它。
关于ios - 核心数据 : Private context with child Main context - FetchedResultsController not getting updates,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31722142/
我正在尝试过滤 FetchedResultsController 中的项目以过滤掉特定的一组项目。这些发动机具有特定的字母名称,后跟数字。名称中可能的字母范围是从“A”到“O”。我希望能够根据另一个条
因此,我有以下代码用于获取所有名为“设置”的核心数据实体 - (NSFetchedResultsController *)fetchedResultsController { if (fetc
我遇到一种情况,需要使用多个排序描述符对数据进行排序。我想首先使用两个组件对数据进行排序,这两个组件是按降序排列的数字。然后,我应该在 TableView 上显示按名称组件排序的数据,并使用 sect
我有一个带有两个 UITableViews 的 UIViewController。这两个表是从不同的实体填充的,因此我使用了两个获取的结果 Controller 。在使用 UITableViewDel
我遇到了一个问题:在我的项目中,我使用 Core Data 来管理数据。我在所有项目中使用了一个 fetchResultsController。 在 AppDelegate.m 中,我执行了一个获取请
我使用了我在网络上流行的核心数据教程之一中找到的代码: lazy var fetchedResultsController: NSFetchedResultsController = {
我有一个多语言应用。用户根据他/她选择的当前语言插入数据,例如:如果用户选择英语,那么他/她此时插入的数据将与语言英语相关联,如果用户决定更改语言,例如,转到葡萄牙语,然后插入新记录,当前记录将与葡萄
我正在编写一个使用 coredata 的小应用程序,我有像主题这样的数据,其中包含数学、科学和其他书籍。 其他书籍可以添加或删除,但数学和科学不能删除,添加新学生时会默认添加。当我获取结果时,我应该获
在编程方面,我是一个周末勇士,所以我可能做错了什么...... 我有一个 Split View Controller 、核心数据、nsfetchedResultsController,一切都很好。我现
我在核心数据中有一个“账单”列表。对于每个账单,我希望 UITableViewController 中有一个单独的部分。我希望这些账单按金额排序。 为此,我使用 fetchedResultsContr
尝试创建简单的应用程序来显示从核心数据到 TableView 的数据。代码构建成功 - 每次加载时都会添加新条目,目前超过 20 个 - 但是在尝试构建表时它会崩溃。 这里我有 ViewControl
我已经简化了我的问题以使问题变得更容易,所以希望我发布的代码足够了。 我的目标是使用一个可以支持 CoreData 中的多个模型的类,这样我就可以避免为每个类重新创建相同的内容。 class FRC
我想将一个对象从 fetchedResultsController 发送到自定义单元格。 - (UITableViewCell *)tableView:(UITableView *)tableView
我在让 tableView 正确更新时遇到了问题,尽管我已经取得了一些进展。如果我的问题在于我的 fetchedResultsController 返回了不需要的部分,我认为问题的根源。 我的目标是让
我有两个实体 A 和 B,它们的关系是多对多的。实体类如下: 一个NSSet *toB 乙NSSet *toA 现在我有一个 A 对象,我可以通过使用“toB”集获取所有相关的 B 对象。由于需要对B
我有由获取结果 Controller 管理的 TableView 。我想要的是,当用户点击分段控件时更改排序顺序。这就是我创建获取结果 Controller 的方式: - (NSFetchedResu
我在 IB 中有一个原型(prototype) TableView ,它有两种不同类型的单元格:完整单元格和基本单元格(用于显示文章,我根据文章类型使用每一种单元格)。 我想将 FetchedResu
+-----------+ +-----------+ | -Parada- | | -Autobus- | +-----------+
假设我有以下类模型。我有 UITableView,它按以下方式显示 Days 表中的数据: Monday 02.03 5 lessons Wednesday 04.03 3 lessons 任务很简单
我正在尝试获取按其属性之一(单词)过滤的实体列表,为此我使用了 fetchedResultsController,一切看起来都正常。该列表已加载并显示在我的 tableView 上,我什至可以对列表进
我是一名优秀的程序员,十分优秀!