можно использовать setcontent NSTreeController с NSXMLDocument? - PullRequest
3 голосов
/ 24 января 2012

Я пытаюсь отобразить содержимое простого файла plist (xml) в набросках.

Если у меня есть данные файла в NSXMLDocument или NSDictionary, можно ли просто использовать эту существующую структуру для заполнения TreeController? Все примеры кода, которые я могу найти, анализируют и восстанавливают все узлы и содержимое. Разве это не установлено в NSXMLDocument?

спасибо

грабят

1 Ответ

4 голосов
/ 19 октября 2012

Привязки делают это действительно легко.

Вы можете использовать NSTreeController в сочетании с NSOutlineView и очень небольшим кодом, если вы используете стандартные привязки.

Чтобы заставить объекты NSXML в примере приложения работать вместе с объектом NSTreeController, вам просто нужно добавить пару методов в класс NSXMLNode через категорию.

https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/NSXML_Concepts/Articles/UsingTreeControllers.html

#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 enter image description here enter image description here

и TableColumn NSOutlineView enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...