我正在为ios制作一个小应用程序,我需要获取一些json数据。问题是我不知道如何正确地提出请求。我正在尝试以下代码,但“响应”始终为零,不确定原因:
-(instancetype) initWithMatchURL:(NSString*) urlFixtureJSON {
self = [super init];
if(self)
{
NSURLRequest * request = [NSURLRequest requestWithURL: [NSURL URLWithString: urlFixtureJSON]];
__block NSData * response = [NSData new];
NSURLSessionConfiguration * sessionConfiguration = [NSURLSessionConfiguration defaultSessionConfiguration];
sessionConfiguration.HTTPAdditionalHeaders = @{
@"Accept" : @"application/json",
@"api-key" : @"<redacted>"
};
NSURLSession *session = [NSURLSession sessionWithConfiguration: sessionConfiguration];
NSURLSessionDataTask *task = [session dataTaskWithRequest:request completionHandler:
^(NSData *dataTask, NSURLResponse *responseTask, NSError *errorTask)
{
response = [NSData dataWithData: dataTask];
}];
[task resume];
NSLog(@"%@", response);
...
}
提前致谢
答案 0 :(得分:0)
响应将始终为零,因为块中的代码是异步执行的(所以它在将来写入日志后会发生)。如果您将日志记录移至response = [...]
以下,则可以使用。