[英]`NSTreeController`'s `arrangedObjects` doesn't respond to `children`
在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”来归档要发布的产品时,无法打开“整个模块优化”。 因此,我尝试添加此类别,这使我什至“更糟”的结果。
使用Objective-C时,应查看docs的Objective-C版本 。 链接到的页面的右上角有一个语言选择器。
在Objective-C文档中,您会发现代理响应-childNodes
而不是-children
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.