`NSTreeController` 的 `arrangedObjects` 不响应 `children`

`NSTreeController`'s `arrangedObjects` doesn't respond to `children`

NSTreeControllerarrangedObjects doc 中说:

The value of this property represents a proxy root tree node containing the tree controller’s sorted content objects. The proxy object responds to children and descendant(at:) messages. This property is observable using key-value observing.

但在下面的代码中,if 永远不会达到它的 body。

#import "NSTreeController+RootNodes_m.h"

@implementation NSTreeController (RootNodes_m)

- (NSArray *) rootNodes {
    NSObject *  arranged = self.arrangedObjects;

    if ([arranged respondsToSelector: @selector(children)]) {
        return [arranged performSelector:@selector(children)];
    }
    return nil;
}

@end

我写这个 Obj-C 类别是因为在我的 Swift 项目中,当我使用 "hack" 来自。所以我尝试添加这个类别,结果甚至 "worse"。

当您使用 Objective-C 时,您应该查看 Objective-C version of the docs。您链接到的页面有一个朝向 top-right.

的语言选择器

在 Objective-C 文档中,您会发现代理响应 -childNodes,而不是 -children