можно ли использовать setcontent NSTreeController с NSXMLDocument?

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

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

Благодарность

грабить


person Robert Carroll    schedule 23.01.2012    source источник


Ответы (1)


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

Вы можете использовать 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 введите здесь описание изображениявведите здесь описание изображения

и TableColumn NSOutlineView введите здесь описание изображения

person thamster    schedule 19.10.2012