不推荐使用NSURLConnection initWithRequest

Adi*_*rde 14 ios gmail-api xcode7

我在iOS中采用了Gmail API,我收到了警告:

不推荐使用initWithRequest

在以下行中:

connection_ = [[connectionClass alloc] initWithRequest:request_ delegate:self startImmediately:NO];
Run Code Online (Sandbox Code Playgroud)

该行位于API库的源文件GTMHTTPFetcher.m中.

弃用-initWithRequest:方法的替代品是什么?

Rap*_*ael 35

NSURLConnection在iOS 9中已弃用.您可以使用NSURLSession自iOS 7以来存在的内容.

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
        completionHandler:^(NSData *data, NSURLResponse *response, NSError *error)
        {
            // do something with the data 
        }];
[dataTask resume];
Run Code Online (Sandbox Code Playgroud)


Ran*_*ith 7

如果你不关心completionHandler:这里是一个班轮.

[[[NSURLSession sharedSession] dataTaskWithRequest:request] resume];
Run Code Online (Sandbox Code Playgroud)


Nic*_*ari 5

整个NSURLConnectionAPI似乎在 iOS 9 中已被弃用。现有应用程序将继续工作,但新版本(与 iOS SDK 相关联)必须使用较新的NSURLSessionAPI。

Ray Wenderlich 有一个很好的教程在这里。另外,当然,请查看官方文档