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:如何知道所有字节都已发送?

SendUsingAccount SendAs 权限但未在索引中找到

邮件头之

2017-8-10进展

JS animate动画

通过 htaccess 发送 404 错误?