標籤:dict json ons manager erro 建議 null imageview 完全
1.NSUrlConnection的API被棄用
AFNetworking 1.0建立在NSURLConnection的基礎API之上 ,AFNetworking 2.0開始使用NSURLConnection的基礎API ,以及較新基於NSURLSession的API的選項。 AFNetworking 3.0現已完全基於NSURLSession的API,
這降低了維護的負擔,同時支援蘋果增強關於NSURLSession提供的任何額外功能。由於Xcode 7中,NSURLConnection的API已經正式被蘋果棄用。雖然該API將繼續運行,但將沒有新功能將被添加,並且蘋果已經通知所有基於網路的功能,
以充分使NSURLSession向前發展。AFNetworking 2.X將繼續獲得關鍵的隱患和安全補丁,但沒有新的功能將被添加。Alamofire(Swift下的網路請求)軟體基金會建議,所有的項目遷移到基於NSURLSession的API。
2.棄用的類
下面的類已從AFNetworking 3.0中廢棄:AFURLConnectionOperationAFHTTPRequestOperationAFHTTPRequestOperationManager
3.修改的類
下面的類包含基於NSURLConnection的API的內部實現。他們已經被使用NSURLSession重構:UIImageView+AFNetworkingUIWebView+AFNetworkingUIButton+AFNetworking
4.代碼的遷移
如果你以前使用 AFHTTPRequestOperationManager , 你將需要遷移去使用 AFHTTPSessionManager。 以下的類在兩者過渡間並沒有變化:securityPolicyrequestSerializerresponseSerializer接下來舉一個關於AFHTTPSessionManager的簡單例子。注意HTTP網路請求返回的不再是AFHTTPRequestOperation, 修改成為了NSURLSessionTask,並且成功和失敗的Block塊中的參數也變更為了NSURLSessionTask,而不再是AFHTTPRequestOperation。AFNetworking 2.xAFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];[manager GET:@"請求的url" parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) { NSLog(@"成功");} failure:^(AFHTTPRequestOperation *operation, NSError*error) { NSLog(@"失敗");}];AFNetworking 3.0AFHTTPSessionManager *session = [AFHTTPSessionManager manager];[session GET:@"請求的url" parameters:nil success:^(NSURLSessionDataTask *task, id responseObject) { NSLog(@"成功");} failure:^(NSURLSessionDataTask *task, NSError *error) { NSLog(@"失敗"); }];
5.Get請求
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];[manager GET:@"http://example.com/resources.json" parameters:nil progress:nil success:^(NSURLSessionTask *task, id responseObject) { NSLog(@"JSON: %@", responseObject);} failure:^(NSURLSessionTask *operation, NSError *error) { NSLog(@"Error: %@", error);}];
6.Post請求
AFHTTPSessionManager *session = [AFHTTPSessionManager manager];session.requestSerializer = [AFJSONRequestSerializer serializer];NSMutableDictionary *params = [NSMutableDictionary dictionary];params[@"start"] = @"1";params[@"end"] = @"5"; [session POST:urlStr parameters:params progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) { NSLog(@"請求成功");} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) { NSLog(@"請求成功");}];
IOS 開發 網路詳解(五)--- AF3.0使用