objective-c - 异构 NSTreeController

标签 objective-c cocoa nsoutlineview nstreecontroller

我有一个 NSTreeController (向 NSOutlineView 提供内容)。我希望顶级对象属于一个类,而所有其他对象(因此,任何级别的子对象)属于另一个类。解决这个问题的最佳方法是什么?

我需要以某种方式改变至少 addaddChildinsertinsertChild 的行为>,我想。不过,我希望找到一种简单的方法来仅在一个位置解决此问题,而不是更改四种单独的方法。

最佳答案

在我看来,您可以在对象中创建一个属性来区分哪些对象应该使用您修改的方法,哪些不应该使用。然后只需放置一个简单的 if 语句来测试子类方法中的该属性。如果您的对象没有该属性,则让父类(super class)树 Controller 处理它,否则您会更改行为。

关于objective-c - 异构 NSTreeController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2567821/

相关文章:

objective-c - Objective-C NSThread 可以访问全局变量吗?

swift - 从通讯录中获取 kABAddressCountryCodeKey

cocoa - 在 Mac 上录制音频

macos - NSOutlineView 编译错误 : Semantic Issue 'moveRowAtIndex:toIndex:' is unavailable

ios - 如何将 40000 条记录快速插入 iPad 中的 sqlite 数据库

ios - 台风自动注入(inject)程序集

ios - AFNetworking 可以很容易地返回一个 UIImage,但是我如何返回 NSData?

ios - 如果在 UIWebview iOS 中加载,则重定向特定 URL

cocoa - NSOutlineView 带有未读消息的标记,例如 Mail.app

swift - Spring 加载 NSOutlineView 叶行