gpt4 book ai didi

objective-c - 如何将 NSTableView 绑定(bind)到自定义集合类?

转载 作者:行者123 更新时间:2023-12-03 17:52:55 25 4
gpt4 key购买 nike

我知道如何通过 NSArrayControllerNSTableView 绑定(bind)到 NSArray

但是将 NSTableView 绑定(bind)到 MyCustomCollection 又如何呢?绑定(bind)是什么样子的?我仍然可以使用 NSArrayController 并仅遵守 MyCustomCollection 中的协议(protocol)吗?或者我应该使用不同的 Controller 对象? MyCustomCollection 需要符合什么?

最佳答案

如果不了解有关您的集合类的更多信息,则很难完全或具体地回答这个问题。几乎可以肯定,创建自定义集合类是错误的做法。您绝对应该详细说明您认为这是必要的原因以及您的实现情况。准备好考虑你的理由不足以证明将自定义集合塞入 NSArrayController 中是合理的,或者甚至不可能完全按照你想要的方式去做(至少按照你想要做的方式)它)。

另请注意,Cocoa 集合类是(我认为所有)class cluster 的成员。这使得“正确地做”成为一个更加复杂的挑战,并且如果您不得不问如何做的话,那么对现有的 Cocoa 集合类进行子类化是一个坏主意™(“如果您必须问,您还没有准备好尝试它”自负,尽管如此)合理)。

我相信只要你的类响应与(至少)NSArray相同的选择器(如果不是NSMutableArray,如果你的类是可变的),包括Key Value Coding collection accessor methods ,它应该可以正常工作。由于您的表(或更可能是其列)绑定(bind)到数组 Controller ,因此该部分应该以相同的方式工作。由于 NSArrayController 继承了 -content/-setContent:NSObjectController 并且这些方法采用 id 参数,我相信它可能使用我引用的 KVC 访问器方法来获取集合的成员。

但我可能是错的......:-)

关于objective-c - 如何将 NSTableView 绑定(bind)到自定义集合类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20542051/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com