ios:NSURLConnection sendAsynchronousRequest 为啥不起作用?
Posted
技术标签:
【中文标题】ios:NSURLConnection sendAsynchronousRequest 为啥不起作用?【英文标题】:ios:NSURLConnection sendAsynchronousRequest is not working why?ios:NSURLConnection sendAsynchronousRequest 为什么不起作用? 【发布时间】:2015-02-18 09:50:55 【问题描述】:我正在使用这个 url @"http://itunes.apple.com/lookup?bundleId=com.clickgamer.AngryBirds" 进行 Json 解析。
我写了下面的代码
NSURL *url = [NSURL URLWithString:@"http://itunes.apple.com/lookup?bundleId=com.clickgamer.AngryBirds"]; //This URL only for testing
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"GET"];
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError)
NSError *errorReturned = nil;
NSURLResponse *theResponse =[[NSURLResponse alloc]init];
NSError *jsonParsingError = nil;
NSDictionary *jsonArray = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers|NSJSONReadingAllowFragments error:&jsonParsingError];
NSString *myString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"Data = %@ ", [[jsonArray objectForKey:@"results"] valueForKey:@"version"]);
];
但我得到的数据是空的(即 Data ())。
请帮帮我。
谢谢 德罗纳瓦利
【问题讨论】:
【参考方案1】:实际上,您正在控制台中使用 json 响应中不存在的键进行打印:-
打印整个字典,如:-
NSLog(@"Data = %@ ",jsonArray);
【讨论】:
对不起,我收到以下错误“由于未捕获的异常 'NSInvalidArgumentException' 导致应用程序终止,原因:'数据参数为 nil'” 相同的代码在我的最后工作正常:Data = ("5.0.1") 对不起,我遇到了同样的错误。但我不知道为什么。请给我任何建议。 谢谢 Ayan Khan,它工作正常,但代码在 iPad 上不工作。我必须检查一下。以上是关于ios:NSURLConnection sendAsynchronousRequest 为啥不起作用?的主要内容,如果未能解决你的问题,请参考以下文章
iOS NSURLConnection:如何知道所有字节都已发送?