単純な plist (xml) ファイルの内容を Outlineview に表示しようとしています。
ファイル データを NSXMLDocument または NSDictionary に取得したら、この既存の構造を使用して TreeController を設定することはできますか? 私が見つけることができるすべてのコード例は、すべてのノードとコンテンツを解析して再構築します。これはNSXMLDocumentですでに確立されていませんか?
ありがとう
奪う
単純な plist (xml) ファイルの内容を Outlineview に表示しようとしています。
ファイル データを NSXMLDocument または NSDictionary に取得したら、この既存の構造を使用して TreeController を設定することはできますか? 私が見つけることができるすべてのコード例は、すべてのノードとコンテンツを解析して再構築します。これはNSXMLDocumentですでに確立されていませんか?
ありがとう
奪う
バインディングを使用すると、これが非常に簡単になります。
標準バインディングを使用する場合は、NSOutlineView と非常にわずかなコードを組み合わせて NSTreeController を使用できます。
サンプル アプリケーションの 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