繁体   English   中英

NSURLConnection initWithRequest 已弃用

[英]NSURLConnection initWithRequest is deprecated

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

initWithRequest 已弃用

在以下行中:

connection_ = [[connectionClass alloc] initWithRequest:request_ delegate:self startImmediately:NO];

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

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

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];

如果您不关心 completionHandler :这里是one liner

[[[NSURLSession sharedSession] dataTaskWithRequest:request] resume];

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

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

使用STHTTPRequest ,它使用NSURLConnection / NSURLSession

对于NSURLSession使用STHTTPRequest2

STHTTPRequest是最好的库,因为它只有2个文件且易于使用。

暂无
暂无

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

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