使用 CoreData 支持的 NSArrayController 在 NSTableView 中创建组行

2024-01-11

假设我在核心数据模型中存储了一堆 Article 对象。每篇文章都维护一个阅读进度属性,该属性表示用户已阅读了文章的多少。一旦用户完全阅读完该文章,该文章就会被标记为“已读”。在此之前,它将被标记为“未读”。

现在我有一个绑定到 NSArrayController 的 NSTableView,其中包含使用 CoreData 存储的所有 Article 对象。我希望它显示“未读”组下的所有未读文章,以及“已读”组下的所有已读文章。

我知道方法

- (BOOL)tableView:(NSTableView *)tableView isGroupRow:(NSInteger)row

在 NSTableViewDelegate 中。然而,这暗示我们必须在 NSArrayController 中有实际的行显示“已读”和“未读”,并将其提升为组。由于 NSArrayController 包含从 CoreData 中提取的 Article 对象,我该如何去做呢?

注意:这是我的第一个问题,我是 Cocoa 的新手,请放轻松:)


我建议使用 NSOutlineview 和 NSTreeController 来创建分组,而不是 NSTableView 和 NSArrayController。

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

使用 CoreData 支持的 NSArrayController 在 NSTableView 中创建组行 的相关文章

  • 开发者可以在 Windows 应用程序中使用 iCloud 吗?

    开发人员可以使用 Apple 的 iCloud API 在 Mac OS X 和 iOS 上的不同版本的应用程序之间同步应用程序数据 如果开发人员拥有 Windows 版本的应用程序 该版本是否也可以使用 iCloud 将应用程序数据与 M
  • 如何确定 NSTimeInterval 是否发生在任意 NSDate 期间?

    我有一个 NSTimeInterval 我想知道该时间戳是否位于日期的开始和结束之间 基本上我需要能够做类似的事情 NSDate today NSDate date NSTimeInterval myInterval someInterva
  • 如何在不卸载应用程序的情况下删除木桶?

    我最近安装了一个带有 homebrew cask 的应用程序 但我想自己处理它的更新 而不是通过brew cask upgrade 是否有命令或选项可以从本地列表中删除木桶而不卸载它 如果我使用brew cask remove or bre
  • 如何在可编写脚本的应用程序中将任意 AppleScript 记录传递给 Cocoa?

    我有一个 Cocoa 应用程序 其中包含 sdef XML 文件中描述的 AppleScript 字典 sdef 中定义的所有 AppleScript 类 命令等都是工作属性 除了我的 提交表单 命令 提交表单 命令是我尝试将任意信息哈希表
  • Java Swing For mac 中的 DJ Native Swing 浏览器

    我有一个用 Swing 制作的 Java 应用程序 并且使用了一个 DJ Native Swing 浏览器 当我尝试在 OS X 上使用它时 它抛出了一个NoClassDefFoundError尽管我添加了 swt jar 但始终如此 有人
  • `pyqt5'错误`元数据生成失败`

    我正在尝试安装pyqt5使用带有 M1 芯片和 Python 3 9 12 的 mac 操作系统 我怀疑M1芯片可能是原因 我收到一个错误metadata generation failed 最小工作示例 directly in the t
  • 从 cocoa 编辑系统偏好设置

    有没有办法使用可可以编程方式编辑系统首选项 是否需要一些框架 我需要这样做来更改全局代理设置 另外 我的应用程序是沙盒的 有关于如何执行此操作的示例代码吗 感谢您的帮助 您正在寻找系统配置框架 但这并不容易 我认为沙盒应用程序不可能这样做
  • DatePicker 停止 CoreData 按预期工作

    我有一个应用程序 它保存 UIDatePicker 中的文本和日期 然后在您回到 UIDatePicker 中的该日期时显示该注释 效果很好 只有我发现将 UIDatePicker 日期设置为今天会停止 CoreData 工作 只有当我运行
  • 在 macOS 上为 MoviePy 安装 ffmpeg 失败并出现 SSL 错误

    我正在尝试编写一个 Python 程序 在 Mac OS 10 11 16 上使用 MoviePy 将 MP4 文件转换为 GIF 我用 import moviepy editor as mp 我收到一条错误消息 说我需要打电话imagei
  • VLCJ 无法在 Mac 上运行 - 插件 libvlccore.5.dylib

    我正在尝试让 VLCJ 在 Mac 和 PC 上运行 它在 Windows 7 64 位 下运行良好 但当我尝试在 Mac 上运行它时 它崩溃了 我指向 VLC dylib 文件的正确目录 但收到 使用 libvlccore 5 dylib
  • 错误:更改核心数据模型后架构armv7的重复符号

    我有一个使用核心数据框架的应用程序 我工作得很好 我刚刚更改了数据模型 向一个实体添加一个属性 当我尝试构建它时 出现错误 duplicate symbol OBJC METACLASS AccountFolder in Users XXX
  • MySQL 数据库无法在 XAMPP for Mac 上启动

    突然我在 mac 上遇到了这个问题 我无法启动我的 MySQL 数据库 我只能启动 ProFTPD 和 Apache Web Server 这是应用程序日志 Starting all servers Starting MySQL Datab
  • 所有平台上的java

    如果您想用 java 为 Windows Mac 和 Linux 编写桌面应用程序 那么所有这些代码都相同吗 您只需更改 GUI 即可使 Windows 应用程序更像 Windows 等等 如果不深入细节 它是如何工作的 Java 的卖点之
  • Sqlite代码28“文件在打开时重命名”

    这是一个推论这个问题 https stackoverflow com questions 27784704 sqlite deadlock across multiple threads with different files nored
  • Mac 上的 Qt — 如何访问帮助菜单中的“搜索”

    我正在将我的 Qt 应用程序移植到 Mac OS X 在 Windows Linux 上 我使用 QLineEdit 在帮助菜单中提供搜索功能 In Mac OS X I saw something like this is built i
  • Swift 中带圆角的 NSWindow

    我想要一个圆角的窗户 但我在每个角落都有一个白点 Code let effect NSVisualEffectView frame NSRect x 0 y 0 width 0 height 0 effect blendingMode be
  • XCode 4.2.1 在 Lion 10.7.2 上启动时崩溃

    这周我买了大约 10 年来的第一台 Mac 是的 这是一台二手 Mac Pro 2x2GHz 双核 Xeon 2GB RAM 它全新安装了 Mac OS X Lion 10 7 2 我只安装了 OmniOutlner Pro Textmat
  • 如何在Mac上使用AVFoundation将图片编码为H264,而不是使用x264

    我正在尝试制作一个 Mac 广播客户端 使用 FFmpeg 但不使用 x264 库编码为 H264 所以基本上 我可以从 AVFoundation 中获取原始帧CMSampleBufferRef or AVPicture 那么有没有一种方法
  • 使用 Webkit 的调试版本运行 Safari

    我通过运行以下命令编译了 webkit 的调试版本 工具 脚本 build webkit debug 成功构建后 我尝试通过运行以下命令来使用已编译的 Webkit 调试版本来运行 safari sudo Tools Scripts run
  • xcode 4 垃圾收集已删除?

    我正在学习 Xcode 和 Objective C 但是我正在阅读的书使用的是旧版本 3 2 的 Xcode 其中一章完全致力于内存和泄漏 说我需要通过 项目设置 gt 构建 打开垃圾收集 但是 我找不到垃圾收集设置 它已被删除还是我只是错

随机推荐