iOS網絡通訊類庫

iOS網絡通訊類庫

 

iOS網絡通訊類庫:ASIHTTPRequest,AFNetworking,MKNetWorkKIt.php

ASIHTTPRequest在ios5.0以後就不在維護了,因此以後主要就是AFNetworking和MKNetworkKit。ios

AFNetWorking:git

適合邏輯簡單的應用,或者更適合開發資源尚不豐富的團隊,由於AFN的易用性,而這樣的應用(或團隊)對底層網絡控件的定製化要求也很是低。github

MKNetworkKit:api

一、高度的輕量級,僅僅只有2個主類網絡

二、自主操做多個網絡請求app

三、更加準確的顯示網絡活動指標post

四、自動設置網絡速度,實現自動的2G、3G、wifi切換spa

五、自動緩衝技術的完美應用,實現網絡操做記憶功能,當你掉線了又上線後,會繼續執行未完成的網絡請求隊列

六、能夠實現網絡請求的暫停功能

七、準確無誤的成功執行一次網絡請求,摒棄後臺的屢次請求浪費

八、支持圖片緩衝

九、支持ARC機制

十、在整個app中能夠只用一個隊列(queue),隊列的大小能夠自動調整

 

MKNetWorkKIt的使用方法:

1.下載MKNetWorkKIt主要是下載MKNetWorkKIt這個。

2.新建一個ARC的工程。

3.將MKNetWorkKit這個文件夾拖到你新建的工程中。添加:SystemConfiguration.framework,CFNetwork.framework,Security.framework。

4.在ViewControler裏的viewDidLoad方法裏寫下以下代碼:

GET請求的:

1. <span style="font-size:14px;">MKNetworkEngine *engine = [[MKNetworkEngine alloc] initWithHostName:@"192.168.2.176:9502/api"  

2. customHeaderFields:nil];  

3. MKNetworkOperation *op = [engine operationWithPath:@"login.php?userid=admin&userpwd=123" params:nil httpMethod:@"GET"];  

4. [op onCompletion:^(MKNetworkOperation *operation){  

5.     NSLog(@"request string: %@",[op responseString]);  

6. }   

7. onError:^(NSError *error){  

8.   

9. }];  

10. [engine enqueueOperation:op];</span> 

 

 POST請求:

1. <span style="font-size:14px;">  NSMutableDictionary *dic = [[NSMutableDictionary alloc] init];  

2.   [dic setValue:@"admin" forKey:@"username"];  

3.   [dic setValue:@"123" forKey:@"password"];  

4.     

5.   MKNetworkOperation *op = [engine operationWithPath:@"user.do" params:dic httpMethod:@"POST"];  

6.     

7.   [op onCompletion:^(MKNetworkOperation *operation) {  

8.       NSLog(@"post response string :%@",[op responseString]);                  

9.   } onError:^(NSError *error) {  

10.       DLog(@"%@", error);  

11.   }];  

12.     

13.   [engine enqueueOperation:op];</span> 

強烈注意的地方:

1,github下載了該項目後,若是想運行其demo,必定 要打開MKNetworkKit.xcworkspace該文件,若單獨打開,則編譯時會提示缺乏libMKNetworkKit-iOS.a文件!!!

2,在初始化 MKNetworkEngine的時候,不要加上"http://" 會自動幫你加上的。

相關文章
相關標籤/搜索