【发布时间】:2012-08-10 03:25:38
【问题描述】:
我尝试在界面构建器中创建一个带有附加详细信息视图的主详细信息视图。整个应用程序适用于 Mac OSX。
我有 3 个表格视图。 Master-Table、DetailsOfMaster-Table 和 DetailsOfDetails-Table 对于每个 tableview,我都有一个数组控制器。
我的数据结构是一个填充了如下对象的数组:
@interface Node : NSObject
@property (strong)NSString* name;
@property (assign)NSArray* details;
@end
每个节点的细节再次被其他节点填充。
- Master-ArrayController 的内容数组绑定到我的数组 节点。
- Details-ArrayController 的内容数组绑定到 Master-ArrayController 的 Selection.details
- DetailDetails-ArrayController 的内容数组绑定到 Details-ArrayController 的 Selection.details
每个表格视图的内容都绑定到对应的数组控制器上,其中的Key、arrayObjects和Tabel Column为arrangeObjects.name
一切编译正常。 问题是 Detail- 和 DetailsDetail-Table 没有得到更新。
我错过了一些绑定吗? 我希望能够通过界面生成器设置的绑定完全展示我的数据结构。
【问题讨论】:
-
尝试删除表格视图绑定——绑定到数组控制器时我从不使用它。只需将列绑定到数组控制器排列对象.名称,看看是否有帮助。
-
谢谢,但如果我删除它们,如果我单击第一个表中的项目,应用程序将崩溃。我认为与 tableview 的绑定对于让 tableview 知道必须显示多少项目和内容是必要的。
-
抱歉,我忘了您需要在一个列表上进行绑定。我注意到您的 details 属性被声明为“assign”。尝试将其更改为保留,看看是否有帮助。
-
哇,就是这样!!非常感谢!我太专注于绑定,以至于我没有注意到它。
标签: objective-c binding nsarraycontroller master-detail