代码之家  ›  专栏  ›  技术社区  ›  Bakaburg

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

  •  1
  • Bakaburg  · 技术社区  · 14 年前

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

    所以我创建了两个NSArrayController,并将每个绑定到myController中的两个数组中的一个。

    结果确实很奇怪:在第二列中,一切正常,但在第一列中,我只得到了“(”和第一列的每个值。

    所以我的印象是,同一个表中的列以某种方式进行交互。
    你知道吗?

    2 回复  |  直到 14 年前
        1
  •  1
  •   user23743 user23743    14 年前

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

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

    看法 它本身需要知道有多少行,选择了哪些行以及相关信息—绑定到多个数组控制器意味着每个问题可能有多个答案。因此,这意味着假设每个表视图只能有一个数组控制器是合理的,即使没有什么可以阻止您设置更多的数组控制器。

        2
  •  1
  •   user155959 user155959    14 年前

    您正试图对一个表使用多个数据源。相反,使用一个数组控制器,将两个数组转换为一个字典数组,每个字典都有两个字符串。然后,将每个表列绑定到相应的字典键。