我正在尝试开发一款可以访问YouTube视频的应用。
当我在文本字段中输入艺术家的名字时,该网址没有取名。
urlString = [NSString stringWithFormat:@"http://gdata.youtube.com/feeds/api/videos?q= %@&format=1&category=music&start-index=11&&start-index=11&max-results=30&v=2&alt=jsonc",replaceString];
NSURL *myURL = [[NSURL alloc]initWithString:urlString];
NSURLRequest *request = [NSURLRequest requestWithURL:myURL];
我尝试调试时urlString
正在取值,但该值未分配给myURL
并显示nil
。
答案 0 :(得分:2)
您需要转义硬编码网址中的非ASCII字符
urlString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
如果您阅读了Apple文档initWithString:
,则说明
返回值
使用URLString初始化的NSURL对象。如果字符串格式错误,则返回nil。
答案 1 :(得分:1)
根据您粘贴的代码判断,问题很可能是您的URL字符串中的空格字符,我认为不应该存在。但是你也应该注意逃避你的查询参数,正如我在下面描述的那样:
http://www.mikeabdullah.net/escaping-url-queries-in-cocoa.html