在NSTreeController
' arrangedObjects
doc中,它说:
此属性的值表示代理根树节点 包含树控制器的已排序内容对象。代理人 对象响应子级和后代(at :)消息。这个 使用键值观察可以观察到属性。
但是在下面的代码中,if
永远不会碰到它的身体。
#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"存档产品以供发布时来自this question。所以我尝试添加这个类别,这让我更加糟糕"结果
答案 0 :(得分:1)
当您使用Objective-C时,您应该查看Objective-C version of the docs。您链接到的页面右上角有一个语言选择器。
在Objective-C文档中,您会发现代理响应-childNodes
,而不是-children
。