每当我尝试通过xcode 7中的JSon获取数据时,它都会给我错误:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'data parameter is nil'
在xcode 6中它工作正常。是否在xcode 7中实现了新方法以从json获取数据。
[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://api.openweathermap.org/data/2.5/weather?lat=35&lon=139"]];
id response=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil];
答案 0 :(得分:0)
NSError *error;
NSURL *url = [NSURL URLWithString:@"http://api.openweathermap.org/data/2.5/weather?lat=35&lon=139"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
[request setHTTPMethod:@"GET"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse: nil error:&error];
if (!data)
{
NSLog(@"Download Error: %@", error.localizedDescription);
}
// Parsing the JSON data received from web service into an NSDictionary object
NSDictionary *jSON =
[NSJSONSerialization JSONObjectWithData: data
options: NSJSONReadingMutableContainers
error: &error];
试试这个工作
答案 1 :(得分:-1)
在iOS 9.0中,它将不再支持http://它需要https://
将此添加到info.plist解决了这个问题但不知道苹果会允许这样的应用在应用商店中发布。
< key>NSAppTransportSecurity< / key>
< dict>
< key>NSAllowsArbitraryLoads< / key>< true/>
< / dict>
通过在文本编辑器中编辑info.plist来添加它不起作用,必须从xcode本身开始。 (我是编程新手)