我有一个基于IB(Xcode 4)的GUI。
它具有连接到NSTextField的静态文本字段。从XML文件中读取信息后,应该将文本更改为XML中的内容

.h如下:

IBOutlet NSTextField * DataBaseLocation;


.m

NSMutableArray* DBLoc = [[NSMutableArray alloc] initWithCapacity:1];
NSXMLElement* root  = [doc rootElement];
NSArray* DBarray = [root nodesForXPath:@"//DataBaseLocation" error:nil];
for(NSXMLElement* xmlElement in DBarray)
    [DBLoc addObject:[xmlElement stringValue]];

NSString * DBLocationString = [DBLoc objectAtIndex:0];
[DataBaseLocation setStringValue:DBLocationString];

NSLog(@"DBLoc: %@", DBLoc);


NSLog表示DBLoc具有正确的字符串,但“文本字段”为空且从未设置。

是的,我检查了IB中的连接。
有任何想法吗?谢谢!

最佳答案

找到了答案。

我需要用NSXMLDocument初始化NSXMLDocumentTidyXML

NSXMLDocument* doc = [[NSXMLDocument alloc] initWithContentsOfURL: [NSURL fileURLWithPath:input] options:NSXMLDocumentTidyXML error:NULL];

07-24 09:30