在Objective C中将NSMutableString转换为NSUrl

时间:2011-02-16 16:15:19

标签: objective-c compiler-errors nsxmlparser nsurl nsmutablestring

我在Objective-C中从动态网址解析xml文件时遇到了问题。 Parser适用于整个项目,但现在我必须设置一个动态URL来解析所需的XML文件。

我有两个变量:一个用于BaseURL,一个用于Params。 这是我记录的代码:

    //The Baseurl
NSMutableString* baselink = [NSMutableString stringWithString:zimmertyp.typlink];   

//Adds the params to URL
[baselink appendString:aSlice.link];

//In Log it shows the right url to my XML-File with params
NSLog(@"Selected-URL: %@", url);

//I tried to convert the String to NSURL here
NSURL *url = [NSURL URLWithString: baselink];


NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithContentsOfURL:url];
self.navigationItem.prompt = @" ";

//Initialize the delegate.
XMLParser *parser = [[XMLParser alloc] initXMLParser];

//Set delegate
[xmlParser setDelegate:parser];

//Start parsing the XML file.
BOOL success = [xmlParser parse];

if(success)
    NSLog(@"No Errors");
else
    NSLog(@"Error Error Error!!!"); 

每当Parser试图走过时,我都会:

2011-02-16 16:40:03.371 Project[15566:207] Selected-URL: http://xml.projectwebsite.de/price/doppelzimmer.xml
    ?Zimmertyp=Doppelzimmer+Classic
2011-02-16 16:40:03.373 Project[15566:207] Error Error Error!!!
2011-02-16 16:40:03.374 Project[15566:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSCFString stringByAppendingString:]: nil argument'

看起来NSUrl是空的,还是我错了? 应用程序在使用URL初始化Parser时崩溃。

谁能告诉我我的错?

问候, Zarakas

1 个答案:

答案 0 :(得分:2)

我自己解决了这个问题。 AppendString方法为String添加了空格... dunno为什么。我从字符串中逃脱了空间。现在解析器工作正常..;)