我知道如何通过NSTableView
将NSArray
绑定到NSArrayController
。
但是如何将NSTableView
绑定到MyCustomCollection
呢?绑定是什么样的?我仍然可以使用NSArrayController
并且只是符合MyCustomCollection
中的协议吗?或者我应该使用不同的控制器对象? MyCustomCollection
需要遵守什么?
答案 0 :(得分:1)
如果不了解更多有关您的收藏类的信息,这很难完全或具体回答。几乎可以肯定,创建自定义集合类是错误的。你应该明确地说明你觉得这是必要的原因和你的实施。准备好考虑你的理由不足以证明将自定义集合干扰到NSArrayController
或者甚至不可能完全按照你想要的那样(至少你试图这样做的方式)。
另请注意,Cocoa集合类是class cluster的(我认为所有)成员。这使得“正确行事”成为一项复杂得多的挑战,并且如果你不得不问如何(“如果你不得不问,你还没有准备好尝试它”自负,那么将现有的Cocoa集合类子类化为坏主意™,尽管如此对齐)。
我相信只要你的班级响应同一个选择器(至少)NSArray
(如果你的班级是可变的话,如果不是NSMutableArray
),包括Key Value Coding collection accessor methods,它应该可以正常工作。由于您的表(或者更可能是其列)绑定到数组控制器,因此该部分应该相同。由于NSArrayController
从-content
继承-setContent:
/ NSObjectController
并且这些方法采用id
参数,我相信它可能会使用我引用的KVC访问器方法来获取该系列的成员。
但我可能错了......: - )