我有自己的类来进行 http 调用,但现在在 iOS9 中不推荐使用此方法:
[NSURLConnetion sendAsynchronousRequest:queue:completionHandler:]
我正在尝试测试新的
[NSURLSession dataTaskWithRequest:completionHandler:]
但是 Xcode 报错,因为它没有找到这个方法。
带有弃用行的 Xcode 编译器警告:
'sendAsynchronousRequest:queue:completionHandler:' is deprecated: first deprecated in iOS 9.0 - Use [NSURLSession dataTaskWithRequest:completionHandler:] (see NSURLSession.h
新方法出错:
No known class method for selector 'dataTaskWithRequest:completionHandler:'
方法:
-(void)placeGetRequest:(NSString *)action withHandler:(void (^)(NSURLResponse *response, NSData *data, NSError *error))ourBlock {
NSString *url = [NSString stringWithFormat:@"%@/%@", URL_API, action];
NSURL *urlUsers = [NSURL URLWithString:url];
NSURLRequest *request = [NSURLRequest requestWithURL:urlUsers];
//[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:ourBlock];
[NSURLSession dataTaskWithRequest:request completionHandler:ourBlock];
}
有什么想法吗?
最佳答案
dataTaskWithRequest:completionHandler:
是实例方法,不是类方法。您必须配置新 session 或使用共享 session :
[[[NSURLSession sharedSession] dataTaskWithRequest:request completionHandler:ourBlock] resume];
关于ios - 弃用 : 'sendAsynchronousRequest:queue:completionHandler:' in iOS9,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31219548/