2011-07-28 30 views
0

我有一个基于IB(Xcode 4)构建的GUI。
它有一个连接到NSTextField的静态文本字段。从XML文件中读取信息后它应该改变不管它是从XML以编程方式设置NSTextField的文本

的.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的连接。 任何想法?谢谢!

回答

1

找到了答案。

,我需要NSXMLDocumentTidyXML像初始化NSXMLDocument

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

您应该打印出DBLocationString而不是DBLoc,以确保它不是空的或以某种不能作为字符串值传递的损坏格式。

+0

完成,该字符串是OK – Jessica

+0

如果字符串是确定的,那么一定有什么不对您的连接或宣布为你应该代码完美地设置文本字段。对不起,我不能帮助更多,很难确切地知道没有能够摆脱这个项目。 – John

相关问题