我在NSoutlineView中有以下场景
ParentObject [checkbox]
- ChildObject 1 [checkbox]
- ChildObject 2 [checkbox]每个复选框都有一个绑定设置,该绑定设置为NSTreeController中相应对象的布尔值。当用户选中parentObject复选框时,还应设置相应的子复选框。但是,设置子对象复选框时,父对象复选框不应受影响。我似乎不能让父功能正常工作。
我目前尝试解决这个问题的方法是:当复选框被设置时,调用:
-(IBAction)CheckSelected:(NSButtonCell *)sender
{
// Somehow access the cells bound object in the NSTreeController ?????
}然而,从我的研究来看,我还没有找到一种方法来访问NSTreeController中的单元格各自的对象。
对这个问题的任何见解都将非常感谢。我觉得这是人们在使用NStreeController时会遇到的一个常见问题,我很好奇我是否采取了正确的方法。
谢谢:)
发布于 2014-01-10 17:59:13
复选框不应该设置为调用操作-它们应该绑定到一个属性,比如“isChecked”。
在您的ParentObject中,您将拥有类似以下内容的代码:
- (void)setIsChecked:(BOOL)isChecked;
{
_isChecked = isChecked;
for (ChildObject *childObject in self.children)
childObject.isChecked = isChecked;
}由于子项的复选框也已绑定,因此子项的新状态将立即反映在大纲视图中。
https://stackoverflow.com/questions/20834139
复制相似问题