繁体   English   中英

dataTaskWithRequest 问题(目标 c)

[英]issue with dataTaskWithRequest (objective c)

我正在为 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);
    ...
}

提前致谢

响应将始终为零,因为块中的代码是异步执行的(因此它会在写入日志后发生)。 如果您将日志记录移动到response = [...] ,它将起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM