NSCollectionView不更新数据更改的子视图

时间:2009-08-04 18:31:22

标签: objective-c cocoa nscollectionview

我通过Interface Builder设置了NSCollectionView。我的原型视图包含进度指示器和文本字段。我已经设置了绑定,以便我的“任务”对象保持进度指示器的值和文本字段值。

当我将新对象添加到集合时(通过我添加到我的阵列控制器的[NSCollectionView newItemForRepresentedObject:]),一切正常。进度指示器和文本字段的初始值得到适当设置。但是,当值更改时,它不会反映在原型视图中。值始终保持其初始值。

我尝试在“任务”对象中添加指向原型视图的指针,并尝试通过[NSView setNeedsDisplay:TRUE]强制更新,但无济于事。我已经将原型视图子类化,并为进度指示器提供了一个出口,以便我可以检查它以在运行时看到它的值并且奇怪的是,即使视图创建成功,进度指示器也不是!与它确实显示和保持初始值的事实完全相矛盾!

有什么方法可以使用当前设置将更改传播到视图?

提前致谢。

1 个答案:

答案 0 :(得分:2)

您的绑定设置应该足够了。

您的进度指示器到底是什么?确保在更新进度值时发送KVO通知。