我正在尝试在大纲视图中显示一个简单 plist (xml) 文件的内容。
一旦我在 NSXMLDocument 或 NSDictionary 中获得了文件数据,是否可以只使用这个现有结构来填充 TreeController?我能找到的所有代码示例都会解析并重建所有节点和内容。这不是已经在 NSXMLDocument 中建立了吗?
谢谢
抢
我正在尝试在大纲视图中显示一个简单 plist (xml) 文件的内容。
一旦我在 NSXMLDocument 或 NSDictionary 中获得了文件数据,是否可以只使用这个现有结构来填充 TreeController?我能找到的所有代码示例都会解析并重建所有节点和内容。这不是已经在 NSXMLDocument 中建立了吗?
谢谢
抢
绑定使这变得非常容易。
如果您使用标准绑定,您可以使用 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