2016-09-12 299 views
0

我在我的項目中使用AFNetworking以從REST API獲取數據。 但是,當我使用Github中描述的方法時,我得到了警告。dataTaskWithRequest:completionHandler:已棄用

這裏是我的代碼:

NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration]; 
AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:configuration]; 

NSURL *URL = [NSURL URLWithString:@"http://httpbin.org/get"]; 
NSURLRequest *request123 = [NSURLRequest requestWithURL:URL]; 

NSURLSessionDataTask *dataTask = [manager dataTaskWithRequest:request123 completionHandler:^(NSURLResponse *response, id responseObject, NSError *error) { 
    if (error) { 
     NSLog(@"Error: %@", error); 
    } else { 
     NSLog(@"%@ %@", response, responseObject); 
    } 
}]; 

[dataTask resume]; 

我的項目支持的iOS 7.0及以上。

我的Xcode版本7.3.1

有沒有什麼辦法可以克服這個警告?

+0

你能不能請在這裏發表您的警告? –

+1

:'dataTaskWithRequest:completionHandler:'已棄用 – Himanth

+1

@ vadian同意。它在我身邊工作。 –

回答

2

此方法屬於AFURLSessionManager。 (用兩個塊),而實際的簽名

- (NSURLSessionDataTask *)dataTaskWithRequest:(NSURLRequest *)request 
             success:(void (^) (NSURLResponse *response , id responseObject))success 
             failure:(void (^) (NSError *error))failure 
+0

它在2.0或3.0中可用 –

+0

這在3.0中不可用。 –

4

現在已經替換爲以下AFNetworking 3.0

- (NSURLSessionDataTask *)dataTaskWithRequest:(NSURLRequest *)request 
          uploadProgress:(nullable void (^)(NSProgress *uploadProgress))uploadProgressBlock 
         downloadProgress:(nullable void (^)(NSProgress *downloadProgress))downloadProgressBlock 
         completionHandler:(nullable void (^)(NSURLResponse *response, id _Nullable responseObject, NSError * _Nullable error))completionHandler;