[英]`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.