4

我不确定如何开始调试此问题。

我有一个 NSCollectionView,它的 NSCollectionViewItem 原型视图本身包含一个 NSCollectionView(以及一个 NSArrayController,为这个第二级集合视图提供内容)。当顶级视图位于主笔尖时,两个级别的集合视图都可以正常工作。

但是,当我将视图(并重新连接所有适当的绑定)复制/粘贴到我加载的新笔尖时,loadNibNamed:owner:第二级视图(而不是顶级视图)显示为空白。

经过一番调查,我发现myArrayController.arrangedObjects.@count确实是 0。但是,控制器绑定到的 NSArray(文件所有者的representedObject.quizzes),当被要求时.@count,返回 2。

quizzes确实应该返回 2,因为我已经完成了[testCategoryA setQuizzes:[NSArray arrayWithObjects:testQuizA1,testQuizA2,nil]];。我已经测试过在加载笔尖之前和之后设置测验。两种情况的情况都是一样的。

所以,总而言之,我有 2 个级别的集合视图,以及 2 个级别的数组控制器。顶层总是有效的。但是,只要顶层不在主 nib 文件中,第二层就会中断。在我看来,第二级中断的部分是数组控制器的绑定。

我什至不知道如何在这乱七八糟的笔尖中开始调试。建议?

4

1 回答 1

1

听起来好像您的测验数组没有发送 KVO 通知,或者您正在以不符合 KVO 的方式编辑它(即“在控制器背后编辑数组”)。

此外,出于性能原因,您可能希望检查quizzes 数组的索引访问器方法。

于 2010-02-05T17:54:39.737 回答