我正在尝试在outlineview中显示简单plist(xml)文件的内容。
一旦我在NSXMLDocument或NSDictionary中拥有文件数据,是否可以使用这个现有结构来填充TreeController?我可以找到的所有代码示例都解析并重建所有节点和内容。这是不是已经在NSXMLDocument中建立了?
感谢
抢劫
答案 0 :(得分:4)
绑定使这很容易。
如果使用标准绑定,可以使用NSTreeController和NSOutlineView以及非常少的代码。
要使示例应用程序中的NSXML对象与NSTreeController对象一起使用,您只需通过类别向NSXMLNode类添加几个方法。
#import "NSXMLNode+NSXMLNodeAdditions.h"
@implementation NSXMLNode (NSXMLNodeAdditions)
- (NSString *)displayName {
NSString *displayName = [self name];
if (!displayName) {
displayName = [self stringValue];
}
return displayName;
}
- (BOOL)isLeaf {
return [self kind] == NSXMLTextKind ? YES : NO;
}
@end
这里是NSTreeContoller的相关设置的屏幕截图
和NSOutlineView的TableColumn