使用 NSArrayController 分段 NSTableView

2024-03-19

我正在尝试创建一个分段NSTableView using NSArrayController和可可绑定。我正在寻找类似的方法,例如NSFetchedResultsController在 iOS 中,您可以在其中设置部分键路径。我想做一些类似的东西NSArrayController.

我给你举个例子: 我有不同的任务。每个任务都有三个不同优先级之一:低、中或高。任务还具有标题、描述、日期等属性。我想按优先级对任务进行分段或分组(此处的部分键路径是优先级)。

我可以用绑定来解决这个问题吗NSArrayController?我需要多个NSArrayController或者只有一个?


Though NSTableView可以呈现组行,不幸的是,它取决于委托或数据源来展平层次结构。它不理解替代数据源语义,例如UITableView's UITableViewStyleGrouped,也不NSArrayController具有相当于NSFetchedResultsController的部分方法。

一种选择是NSOutlineView它是为显示任意深度的分层数据而设计的,但它可能会产生比简单两层结构所需的更多工作。 (您可以将大纲视图绑定到NSTreeController但树控制器的文档记录很少,而且它的设计也很糟糕。)

所以,我的建议是:

  • 编写自己的控制器类来实现NSTableViewDelegate and NSTableViewDataSource.
  • 使用按优先级排序的单个数组控制器,并编写自己的代码来偏移行索引以容纳节标题。
  • Return YES from tableView:isGroupRow:在章节标题上。
  • 不要为此使用绑定。

您还可以从第三方寻找可重复使用、具有绑定功能的控制器。

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

使用 NSArrayController 分段 NSTableView 的相关文章

随机推荐

  • XSLT:如果满足条件,如何退出“for-each”循环

    如果满足条件 如何退出 XSL 中的 for each 循环 例如假设我希望 XSL 显示具有 2 间卧室且租金
  • iPhone 开发:处理大量数据时 Core-Plot 性能缓慢

    iPhone 开发 处理大量数据时 Core Plot 性能缓慢 我尝试将 500 个数据放入绘图中 性能表明它确实很慢 大多数烛台图都混合在一起 请问有人可以帮我解决吗 注意绘图区域的大小 如果数据点多于像素 请按照 benzado 建议
  • 软件测试 pdf 是否正确创建[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我用 Laravel 编写了一个 REST 应用程序 它接受 Json 有效负载并使用该数据创建格式化的 pdf 是否可以编写一个测试
  • 实体框架与 AssociateWith

    当我使用 Linq2Sql 时 我可以通过在 DataLoadOptions AssociateWith 方法中使用 lambda 表达式来过滤表 我用它来过滤所使用的语言 所以我有一个包含所有语言的语言表和一个包含对象的对象表 Like
  • 从子类访问私有继承类的名称

    以下代码无法编译 g 会出现此错误 clang 也会出现类似错误 main cpp 16 19 error QByteArray is a private member of QByteArray Container2 const QByt
  • Json 字符串到地图的转换,

    我正在尝试编写嵌套 JsonObject 到映射转换的通用代码 我有一个示例 JSONObject 作为 glossary title example glossary GlossDiv title S GlossList GlossEnt
  • ASP.Net 中的图表助手显示日期时间

    在 asp net mvc 应用程序中 我需要创建一个简单的折线图 所以我尝试了图表助手 该图表是使用两个列表创建的 x 轴应显示日期时间 y 轴应显示每个时间的值 现在使用下面的代码可以正常工作 listOfDateTimes 包含日期时
  • 当应用程序通过 gradle run 启动时,java.util.scanner 抛出 NoSuchElementException

    我创建了一个简单的 java echo 应用程序 它接受用户的输入并将其显示给他们以演示问题 我可以使用 IntelliJ 的内部 运行 命令毫无问题地运行该应用程序 并且在执行由gradle build 但是 如果我尝试使用执行应用程序g
  • 哪些递归函数不能使用循环重写? [复制]

    这个问题在这里已经有答案了 据我所知 大多数递归函数都可以使用循环重写 有些可能比其他的更难 但大多数都可以重写 在什么条件下不可能使用循环重写递归函数 如果存在这种条件 当您递归地使用函数时 编译器会为您处理堆栈管理 这使得递归成为可能
  • UIViewController 在 vi​​ewWillAppear 和 viewDidAppear 之间调整自身大小?

    我的项目中有一个非常奇怪的错误 我有一个UIScrollView作为我的主要观点 在它里面 我有一个UIViewController not UITableViewController 其中有一个UITableView实例变量 以及一些杂项
  • Wordpress 中的登录用户列表?

    是否可以获取 WordPress 中登录用户的列表 是的 有一个插件 WP OnlineUsers 您可以在这里找到这个插件 http lesterchan net portfolio programming php http lester
  • cassandra 中的行何时被覆盖

    我的理解是 当插入具有相同主键的另一行时 行将被覆盖 例如 我有专栏 user id int item id int site id int 和我的PRIMARY KEY user id item id 如果我有下表 user id ite
  • 获取手机类型

    当手机使用 PHP 连接到 mobi 网站时 有没有办法获取手机的类型 您可以使用 PHP 阅读用户代理 这可能会给您提供线索 http Detectmobilebrowsers mobi http detectmobilebrowsers
  • 非法字符错误:'\u200b'

    我正在面向对象编程课程中为小行星游戏制作小行星场 但收到非法字符错误 u200b 该问题似乎发生在第 12 行 import java awt Point 和 public class Asteroid extends PolyBlob 之
  • 回到 Rails

    因此 在离开几年后 我决定重新使用 Ruby on Rails 来完成我的一些个人项目 我想知道什么是了解 Rails 新功能的最佳资源 自从 1 2 发布以来 我什至还没有真正接触过 Rails 哦 是的 TextMate 仍然是 Mac
  • 如何替换字符串中的奇怪模式?

    我正在用 SQL 创建一个临时过程 因为我有一个用 markdown 编写的表的值 因此它在 Web 浏览器中显示为呈现的 HTML Markdown 到 HTML 的转换 该列的字符串当前如下所示 Questions about gene
  • 如何修复“App Store 连接操作错误 ITMS-90771”

    我正在尝试将我的应用程序提交到 TestFlight 但我不断收到此错误 这就是我的info plist 我该如何解决 将其添加到您的 info plist 中 然后重新提交您的应用程序
  • 为什么“element.innerHTML=”是错误的代码?

    我被告知不要使用附加内容element innerHTML 像这样 var str div hello world div var elm document getElementById targetID elm innerHTML str
  • kafka AdminClient API等待节点分配超时

    我是卡夫卡的新手 正在尝试使用AdminClient用于管理在我的本地计算机上运行的 Kafka 服务器的 API 我的设置与中完全相同快速开始 http kafka apache org quickstartKafka 文档的部分 唯一的
  • 使用 NSArrayController 分段 NSTableView

    我正在尝试创建一个分段NSTableView using NSArrayController和可可绑定 我正在寻找类似的方法 例如NSFetchedResultsController在 iOS 中 您可以在其中设置部分键路径 我想做一些类似