gpt4 book ai didi

cocoa - 将同一个表的两列绑定(bind)到两个不同的 NSArrayController 会产生奇怪的结果

转载 作者:行者123 更新时间:2023-12-03 17:07:45 24 4
gpt4 key购买 nike

我试图理解 cocoa 绑定(bind),但我发现了一个我真的无法理解的问题。

我有一个非常简单的应用程序,其中有一个包含两列的表,我想将这两列绑定(bind)到 myController 对象,该对象具有两个 NSArray 文字字符串对象。

因此,我创建了两个 NSArrayController 并将每个 Controller 绑定(bind)到 myController 中的两个数组之一。然后,我使用模型键路径:描述、 Controller 键:arrangedObjects 和类名:NSString 将表列绑定(bind)到每个 NSArray。

结果确实很奇怪:在第二列中一切正常,但在第一列中我只得到一个“(”并且对于第一列的每个值。
更奇怪的是,如果我解除第二列的绑定(bind),第一列就会开始正常工作。

我尝试创建两个不同的表并将它们的列绑定(bind)到各自的 NSArrayController,然后它就可以工作了。

所以我的印象是同一个表中的列以某种方式进行交互。
有什么想法吗?

最佳答案

听起来第一列中的内容实际上是数组的描述(看起来像):

(
"firstValue",
"secondValue",
...
"nthValue"
);

我不认为我读过任何文档说你不能将不同的表列绑定(bind)到不同的数组 Controller (并且现在找不到任何),但我可以明白为什么它可能不起作用。在某些时候,表 View 本身需要知道有多少行、选择了哪些行以及相关信息 - 绑定(bind)到多个数组 Controller 意味着每个数组可能有多个答案问题。因此,这意味着可以合理地假设每个 TableView 只能有一个数组 Controller ,即使没有什么可以阻止您设置更多 Controller 。

关于cocoa - 将同一个表的两列绑定(bind)到两个不同的 NSArrayController 会产生奇怪的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3306968/

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