2012-05-29 46 views
2

問題:的NSURLRequest空(無編碼問題)

NSString *str = [[NSString alloc] initWithString:theList.artist]; 
NSLog(@"%@",str);  // Log gives me the correct string... 

NSURLRequest *request = [[NSURLRequest alloc] initWithURL:[NSURL URLWithString:str]]; 
[self.webView loadRequest:request]; 
NSLog(@"%@", request);  //Log returns <NSURLRequest (null)> 

然後,如果我嘗試:

NSString *str = [[NSString alloc] initWithString:@"http://totssants.com/index.html"]; 
             //which is the actual URL I am trying to load 

一切順利...我可以在其他地方,但沒有通過串請求... 可能是我解析XML的問題?

謝謝!

+0

您是否嘗試過使用NSURLRequest * request = [[NSURLRequest alloc] initWithURL:[NSURL URLWithString:theList.artist]]? – CBredlow

+0

如果你將NSLog(@「%@」,str);'移動到你記錄請求的地方,它看起來還好嗎?或者如果你使用'NSString * str = [[NSString alloc] initWithString:theList.artist];'而不是前兩行? –

+0

你似乎不明白內存管理是如何工作的。你正在泄漏str(除非你使用ARC,在這種情況下alloc/init是多餘的)。 –

回答

1

嘗試

NSString *str = [theList.artist stringByReplacingOccurrencesOfString:@"\n" withString:@""]; 
str = [str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 

,並確保沒有在開始或結束theList.artist沒有空格。這也會搞砸了。發生在我身上不止一次。

+0

現在請求日誌給了我:

+0

這肯定意味着有一個空白字符在List.artist的開頭,在這種情況下是一個換行符(ASCII代碼0A)。你需要剝去它。我會用更多信息更新我的答案。 –

+0

我查到處都沒有找到空格。 –