当关联计数更改时强制更新 NSFetchedResultsController

2024-02-04

我有一个 NSFetchedResultsController,它在表视图中显示项目列表,包括关联实体的计数。当为此关联添加对象时(使用 addXXXObject),不会调用回调来通知我的控制器更新。

如何接收对象被添加到父实体的 NSSet 的通知,或者以其他方式强制更新获取的结果控制器?

需要明确的是,我目前正在使用parent.children.count 检索计数,这可能不是最理想的。有没有更好的方法来解决这一切?它基本上只是一个类似于 iPhone 邮件应用程序的屏幕,其中的文件夹显示了内部邮件的数量。


我的模型有点不同,但它可以很容易地转换为您的模型。
我得到了一个树状结构:

  • Element
    • title
    • 父母(一对一)
  • Folder : Element
    • 孩子(对多)
  • 文件:元素

添加或删除文件时,只有队列中的第一个文件夹会收到有关此更改的通知。当文件标题更改时,不会有任何文件夹收到通知。那么该怎么办?
我尝试在 Element 类中覆盖 -willChangeValueForKey: 和 -didChangeValueForKey: 。

- (void)willChangeValueForKey:(NSString *)key
{
    [super willChangeValueForKey:key];
    [self.parent willChangeValueForKey:@"children"];
}

- (void)didChangeValueForKey:(NSString *)key
{
    [super didChangeValueForKey:key];
    [self.parent didChangeValueForKey:@"children"];
}

基本上,这样做是强制父文件夹更新,因为它的子文件夹之一发生了更改。
希望它也适合你。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当关联计数更改时强制更新 NSFetchedResultsController 的相关文章

随机推荐

  • Xcode 斯威夫特。如何在基于视图的 NSTableView 中以编程方式选择单元格

    我可以单击一个单元格并编辑其内容 但是 可以通过编程方式选择单元格 而不是单击 选择单元格 基本上为单元格焦点提供准备编辑的机会 StackOverflow 上有人问了关于 UITableView 的同样问题 给出的答案是 let inde
  • 如何从 Python 执行程序? os.system 由于路径中的空格而失败[重复]

    这个问题在这里已经有答案了 我有一个Python脚本需要执行外部程序 但由于某种原因失败了 如果我有以下脚本 import os os system C Temp a b c Notepad exe raw input 然后它失败并出现以下
  • 如何使用 GeoTools 创建具有纬度、经度和半径的圆?

    现在我有 Polygon circle geometryBuilder circle myLong myLat radiusInMeters 10 它创建 纬度 28 456306 长 16 292034 半径 500 一个具有巨大纬度和经
  • JavaScript 中用于格式化数字的正则表达式

    我需要使用 JavaScript 在网页上显示格式化的数字 我想对其进行格式化 以便在正确的位置有逗号 我该如何使用正则表达式来做到这一点 我已经得到这样的东西 myString myString replace d 3 g 1 然后意识到
  • 将 select 语句包含在事务中有何意义?

    将 select 语句包含在事务中有何意义 我认为 select 语句只是从数据库中 获取 数据 它们没有机会回滚某些内容 因为您无法更改数据 那么 这是否意味着我们永远不需要在事务中放置 select 语句 我对吗 Thanks 你是对的
  • 2 个 TextView,左侧带省略号,右侧带 nowrap,单行

    第一次在这个论坛发帖 希望一切顺利 我正在为我所在城市的公共交通开发 Android 应用程序 这是我所拥有的 http s28 postimg org i8cdifwgd actual png short destination next
  • 读取嵌入双引号和逗号的 CSV 文件

    我正在尝试使用 data table 包中的 fread 函数读取脏 CSV 文件 但在字符串值中嵌入双引号和逗号时遇到问题 即引用字段中存在未转义的双引号 以下示例数据说明了我的问题 它由 3 行 行和 6 列组成 第一行包含列名称 SA
  • base64编码长度参数

    我正在解码一个 Base64 字符串 修改它 然后用 Ruby 重新编码 当我重新编码时 问题是 ruby 编码库在 60 个左右的字符后添加换行符 我怎样才能告诉它没有每行最大字符数限制 val QmFzZTY0IGlzIGEgZ2VuZ
  • 无法使用InputStream读取API读取所有字节?

    我在 java 套接字中读取图像字节时遇到问题 我的 iOS 客户端正在此处发送图像 它需要读取总字节并将其作为图像存储在服务器端 当我通过 iOS 模拟器测试时 效果非常好 因为 如果我在模拟器中测试 它会将图像发送到46 577 字节
  • PouchDb find:为什么我的索引没有被使用?

    我正在使用 PouchDb 和插件 PouchDb find 在 ionic Web 应用程序中查询本地数据库 几乎在每个用例中 当我创建索引时 我都会在查询时收到以下警告 docs warning no matching index fo
  • C# 查找相关文档片段以显示搜索结果

    在为我正在构建的网站开发搜索时 我决定采用廉价且快速的方法 使用 Microsoft Sql Server 的全文搜索引擎 而不是像 Lucene Net 这样更强大的引擎 不过 我想要的功能之一是谷歌式的相关文档片段 我很快发现确定 相关
  • WPF - 数据模板的参数?

    我有一个列表框 显示有关员工的数据 例如姓名 部门照片 徽章号码等 员工可能有不同的类型 例如经理 员工 志愿者 我有 3 个独立的数据模板 每种类型一个 所有这些模板显示的数据基本相同 但呈现方式不同 根据登录应用程序的用户 图片 徽章编
  • 如何从Scala的标准库继承Scaladoc?

    如果我理解正确的话 方法的 Scaladoc 应该自动继承它覆盖的父方法的 Scaladoc 这似乎适用于一组本地类 但在从 Scala 的标准库 可能还有任何外部依赖项 扩展时则不然 class LocalParent some docu
  • 搜索文本后去掉 Vim 的高亮显示

    在 VIM 中 使用 命令查找文本后 该文本保持突出显示状态 删除它的命令是什么 我根本不想删除突出显示功能 但一旦找到我需要的内容 我又不想拥有所有这些明亮的文本点 Thanks 输入 noh
  • SQL-根据列组合连续的日期行

    假设我有以下 SQL 结果 BegDate EndDate quanitty 1 1 2014 1 31 2014 1 2 1 2014 2 28 2014 1 3 1 2014 3 31 2014 2 4 1 2014 4 30 2014
  • AngularJS $resource GET 中的多个参数

    use strict angular module rmaServices ngResource factory rmaService resource function resource return resource RMAServer
  • 编译先前预处理的文件会更改输出

    我有一个源文件 我使用选项对其进行预处理 E and P 对于基于 vxWorks 的嵌入式平台使用 GCC 4 1 2 所有其他选项与我编译文件时相同 这些选项是 Wall march pentium nostdinc O0 fno bu
  • 在 matplotlib 中打开灯

    我有以下Python代码 import numpy as np from matplotlib import pyplot as plt plt rcParams figure figsize 12 7 n 100 m 100 X np a
  • 在 Xcode 中打开权利会阻止 Bare Bones 应用程序启动

    我在 Xcode 4 2 中创建了一个基本应用程序 非常简单的应用程序 我没有改变任何东西 按下运行 您将获得标准的基本应用程序窗口 如果我打开目标的权利并点击运行 我不会收到任何调试器错误 但窗口永远不会出现 我使用 Console ap
  • 当关联计数更改时强制更新 NSFetchedResultsController

    我有一个 NSFetchedResultsController 它在表视图中显示项目列表 包括关联实体的计数 当为此关联添加对象时 使用 addXXXObject 不会调用回调来通知我的控制器更新 如何接收对象被添加到父实体的 NSSet