gpt4 book ai didi

Cocoa Bindings NSTableColumn 单元格标题丢失

转载 作者:行者123 更新时间:2023-12-03 17:11:33 25 4
gpt4 key购买 nike

我的应用程序中有以下模型。

  • Board,拥有下面 List 类型的 NSMutableArray 属性 lists
  • List,包含下面 Card 类型的 NSArray 属性 cards
  • Card,有一个 NSString 属性 name

关系是 Board --> to-many List --> to-many Card

我有一个基于 NSCollectionView 的主从界面正在工作。在详细界面中,我有一个希望填充的 NSTableView。

绑定(bind)设置如下:

BoardArrayController -> 绑定(bind)到文件的所有者

  • ** 模型关键路径:板
  • ** 模式:类
  • ** 项目原型(prototype):板 View 项目

ListArrayController -> 绑定(bind)到 BoardArrayController。

  • ** Controller 键:选择
  • ** 模型关键路径:列表
  • ** 模式:类
  • ** 项目原型(prototype): ListView 项目

CardArrayController -> 绑定(bind)到 ListArrayController

  • ** Controller 键:选择
  • ** 模型关键路径:卡片
  • ** 模式:类

主 Collection View 将内容绑定(bind)到 BoardArrayController

  • ** Controller 键:arrangedObjects

  • ** SelectionIndexes 也绑定(bind)到 BoardArrayController。

详细信息 Collection View 将内容绑定(bind)到 ListArrayController

  • ** Controller 键:arrangedObjects

NSTableView 的列(在项目原型(prototype)中)绑定(bind)到 CardArrayController

  • ** Controller 键:arrangedObjects
  • ** 模型关键路径:名称

问题

详细信息界面的 NSTableView 正在填充特定列表的正确数量的卡片。但是,单元格标题为空。我可以单击行并查看选择,但遗憾的是没有文本。

最佳答案

有多个 TableView ,一个对应详细 Collection View 中的每一项,对吧?每个 TableView 的内容应该反射(reflect)它所代表的列表的卡片。各种表格 View 的内容不应受到选择的列表的影响。

由于应该有多个具有独立内容的 TableView ,因此它们不能全部绑定(bind)到单个数组 Controller 。您需要多个 CardArrayController,一个用于详细 Collection View 中的每一项(也称为每个列表)。

最简单的方法是将 Collection View 项 View 移至其自己的 NIB 中。第一个 NIB 中的 Collection View 项应使用我所描述的辅助 NIB 的 NIB 名称进行配置。它的 View socket 不应连接到任何东西。

将辅助 NIB 中的文件所有者占位符的类配置为 NSCollectionViewItem ,因为这就是将加载并拥有它的内容。此 NIB 中的所有绑定(bind)都应经过 representedObject该占位符对象的属性。此 NIB 中应该有一个阵列 Controller ,基本上就是您当前拥有的 CardArrayController。它的内容将绑定(bind)到 File 的 Owner.representedObject.cards。

因此,所选板的每个列表在详细信息 Collection View 中都有相应的项目。该项目的 representedObject自动设置为它所代表的特定列表。 Collection View 项将加载辅助 NIB 来构造其 View 。该 NIB 将具有该列表的卡片的 View (包括 TableView )和数组 Controller 。

现在,将 TableView 列(在辅助 NIB 中)绑定(bind)到 CardArrayController(在同一个 NIB 中)。假设您使用的是 NSCell基于 TableView 。如果您使用基于 View 的表格 View ,则需要以不同的方式设置绑定(bind)。

关于Cocoa Bindings NSTableColumn 单元格标题丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24347005/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com