激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - IOS - 淺談IOS中AFNetworking網絡請求的get和post步驟

淺談IOS中AFNetworking網絡請求的get和post步驟

2021-03-05 17:16雷坤 IOS

本篇文章主要介紹了淺談IOS中AFNetworking網絡請求的get和post步驟的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下。

1.首先通過第三方:CocoaPods下載AFNetworking

1.1.先找到要查找的三方庫:pod search + AFNetworking

1.2.出來一堆列表頁面,選擇三方庫最新版本命令,例如: pod ‘MBProgressHUD','~>0.8'  (:q 返回)

1.3.創建工程,進入工程: cd + 工程路徑

1.4.編輯工程的Podfile文件: vim Podfile

1.5.(platform :iOS, ‘8.0'?target “工程名” do?pod ‘AFNetworking', ‘~> 3.1.0'?end)新版本 (編輯鍵i)->(Esc鍵: 輸入:wq返回)

1.6.6.保存Podfile的設置,然后進行更新下載三方庫: pod update

2.進入工程進行相關操作

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
// 網絡請求的頭文件
#import <AFNetworking.h>
@interface ViewController ()
 
{
  // 進行網絡監測判斷的bool值
  BOOL isOpen;
}
 
// 用于網絡請求的Session對象
@property (nonatomic, strong) AFHTTPSessionManager *session;
 
 
@end
 
@implementation ViewController
 
- (void)viewDidLoad {
  [super viewDidLoad];
  // 初始化Session對象
  self.session = [AFHTTPSessionManager manager];
  // 設置請求接口回來的時候支持什么類型的數據
  self.session.responseSerializer.acceptableContentTypes = [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript",@"application/x-json",@"text/html", nil];
}
 
#pragma mark - 網絡監測按鈕的響應方法
- (IBAction)NetworkmonitoringAction:(id)sender {
  
  if (!isOpen) {
    //打開網絡監測
    [[AFNetworkReachabilityManager sharedManager] startMonitoring];
    
    isOpen = YES;
    
    
  } else {
    // 關閉網絡監測
    [[AFNetworkReachabilityManager sharedManager] stopMonitoring];
    
    isOpen = NO;
    
  }
  
  // 接下來會判斷當前是WiFi狀態還是3g狀態,網絡不可用狀態
  [[AFNetworkReachabilityManager sharedManager] setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
    switch (status) {
      case AFNetworkReachabilityStatusUnknown:
        NSLog(@"當前網絡處于未知狀態");
        break;
      case AFNetworkReachabilityStatusNotReachable:
        NSLog(@"當前網絡處于未鏈接狀態");
        break;
      case AFNetworkReachabilityStatusReachableViaWWAN:
        NSLog(@"手機流量網絡");
        break;
      case AFNetworkReachabilityStatusReachableViaWiFi:
        NSLog(@"wifi狀態");
        break;
      default:
        break;
    }
  }];
  
}
 
#pragma mark - get請求
- (IBAction)getRequestAction:(id)sender {
  
  // 參數1: get請求的網址
  // 參數2: 拼接參數
  // 參數3: 當前的進度
  // 參數4: 請求成功
  // 參數5: 請求失敗
  [self.session GET:@"http://api.yhouse.com/m/city/dynmiclist" parameters:nil progress:^(NSProgress * _Nonnull downloadProgress) {
    NSLog(@"下載的進度");
  } success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
    NSLog(@"請求成功:%@", responseObject);
  } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
    NSLog(@"請求失敗:%@", error);
  }];
  
  
}
 
#pragma mark - post請求
- (IBAction)postRequestAction:(id)sender {
  
  /*{
   do = "pri_memberlist";
   "member_id" = zpHr2dsRvQQxYJxo2;
   "workspace_id" = ILfYpE4Dhs2gWcuQx;
   }*/
  NSString *urlString = @"http://m.taskwedo.com/API/wedo1/wedo.php";
  
  NSMutableDictionary *dict = [NSMutableDictionary dictionary];
  [dict setObject:@"pri_memberlist" forKey:@"do"];
  
  [dict setObject:@"zpHr2dsRvQQxYJxo2" forKey:@"member_id"];
  [dict setObject:@"ILfYpE4Dhs2gWcuQx" forKey:@"workspace_id"];
  // 參數1: url
  // 參數2: body體
  [self.session POST:urlString parameters:dict progress:^(NSProgress * _Nonnull uploadProgress) {
    NSLog(@"上傳的進度");
  } success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
    NSLog(@"post請求成功%@", responseObject);
  } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
    NSLog(@"post請求失敗:%@", error);
  }];
}
 
#pragma mark - post2請求
- (IBAction)postTwoRequestAction:(id)sender {
  
  /*address = "";
      comment = "\U7c7b\U6a21\U5757\U8ba1\U5212\U7528\U5230\U7b2c\U4e09\U90e8\U5206\U4e2d\Uff0c\U5f85\U63d0\U95ee\U3001\U56de\U7b54\U79ef\U7d2f\U5230\U4e00\U5b9a\U6570\U91cf\U65f6\Uff0c\U4fbf\U4e8e\U5927\U5bb6\U7684\U95ee\U9898\U7684\U5feb\U901f\U67e5\U627e\Uff0c\U6240\U4ee5\U63d0\U95ee\U90e8\U5206\U6682\U65f6\U4e0d\U52a0\U5165\U8fd9\U4e2a";
      do = "add_comment";
      kind = task;
      "member_id" = zpHr2dsRvQQxYJxo2;
      other = "";
      "task_id" = 55a47e79ec25e3641;*/
  
  NSString *urlString = @"http://m.taskwedo.com/API/wedo1/wedo.php";
  
  NSString *commonContent = @"類模塊計劃用到第三部分中,待提問、回答積累到一定數量時,便于大家的問題的快速查找,所以提問部分暫時不加入這個";
  // 把漢字進行編碼
  commonContent = [commonContent stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
  NSMutableDictionary *dict = [NSMutableDictionary dictionary];
  [dict setValue:@"" forKey:@"address"];
  [dict setValue:commonContent forKey:@"comment"];
  [dict setValue:@"add_comment" forKey:@"do"];
  [dict setValue:@"task" forKey:@"kind"];
  [dict setValue:@"zpHr2dsRvQQxYJxo2" forKey:@"member_id"];
  [dict setValue:@"" forKey:@"other"];
  [dict setValue:@"55a47e79ec25e3641" forKey:@"task_id"];
  
  [self.session POST:urlString parameters:dict progress:^(NSProgress * _Nonnull uploadProgress) {
    NSLog(@"上傳的進度");
  } success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
    NSLog(@"post請求成功:%@", responseObject);
  } failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
    NSLog(@"post請求失敗:%@", error);
  }];
}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://www.cnblogs.com/leikun1113/p/5535924.html

延伸 · 閱讀

精彩推薦
  • IOSiOS中UILabel實現長按復制功能實例代碼

    iOS中UILabel實現長按復制功能實例代碼

    在iOS開發過程中,有時候會用到UILabel展示的內容,那么就設計到點擊UILabel復制它上面展示的內容的功能,也就是Label長按復制功能,下面這篇文章主要給大...

    devilx12792021-04-02
  • IOSiOS開發之視圖切換

    iOS開發之視圖切換

    在iOS開發中視圖的切換是很頻繁的,獨立的視圖應用在實際開發過程中并不常見,除非你的應用足夠簡單。在iOS開發中常用的視圖切換有三種,今天我們將...

    執著丶執念5282021-01-16
  • IOSiOS自定義UICollectionViewFlowLayout實現圖片瀏覽效果

    iOS自定義UICollectionViewFlowLayout實現圖片瀏覽效果

    這篇文章主要介紹了iOS自定義UICollectionViewFlowLayout實現圖片瀏覽效果的相關資料,需要的朋友可以參考下...

    jiangamh8882021-01-11
  • IOSiOS中MD5加密算法的介紹和使用

    iOS中MD5加密算法的介紹和使用

    MD5加密是最常用的加密方法之一,是從一段字符串中通過相應特征生成一段32位的數字字母混合碼。對輸入信息生成唯一的128位散列值(32個字符)。這篇文...

    LYSNote5432021-02-04
  • IOSiOS中滑動控制屏幕亮度和系統音量(附加AVAudioPlayer基本用法和Masonry簡單使用)

    iOS中滑動控制屏幕亮度和系統音量(附加AVAudioPlayer基本用法和

    這篇文章主要介紹了iOS中滑動控制屏幕亮度和系統音量(附加AVAudioPlayer基本用法和Masonry簡單使用)的相關資料,需要的朋友可以參考下...

    CodingFire13652021-02-26
  • IOSiOS開發技巧之狀態欄字體顏色的設置方法

    iOS開發技巧之狀態欄字體顏色的設置方法

    有時候我們需要根據不同的背景修改狀態欄字體的顏色,下面這篇文章主要給大家介紹了關于iOS開發技巧之狀態欄字體顏色的設置方法,文中通過示例代碼...

    夢想家-mxj8922021-05-10
  • IOS詳解iOS中多個網絡請求的同步問題總結

    詳解iOS中多個網絡請求的同步問題總結

    這篇文章主要介紹了詳解iOS中多個網絡請求的同步問題總結,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧...

    liang199111312021-03-15
  • IOSiOS實現控制屏幕常亮不變暗的方法示例

    iOS實現控制屏幕常亮不變暗的方法示例

    最近在工作中遇到了要將iOS屏幕保持常亮的需求,所以下面這篇文章主要給大家介紹了關于利用iOS如何實現控制屏幕常亮不變暗的方法,文中給出了詳細的...

    隨風13332021-04-02
主站蜘蛛池模板: 99精品视频网站 | 九九热视频在线免费观看 | 日韩精品中文字幕在线播放 | 亚洲成人福利在线观看 | 羞羞视频免费网站男男 | 欧美日本在线视频 | 国产精品免费一区二区三区都可以 | 国产91久久精品一区二区 | 国产精品久久久久久久不卡 | 久久艳片 | 亚洲网站免费看 | 中文字幕一区在线观看视频 | 99re热视频这里只精品 | 久草在线最新 | 精品亚洲夜色av98在线观看 | 我爱我色成人网 | 国产一及毛片 | 91 久久| 香蕉久久久| 亚洲一级电影在线观看 | 日本在线一区二区 | 成人综合在线观看 | 一级电影免费在线观看 | 欧美激情天堂 | 国产妇女乱码一区二区三区 | 国产精品免费一区二区 | 成人mm视频在线观看 | 青青草国产在线视频 | 羞羞的小视频 | 国产精品视频自拍 | h视频在线免费看 | 久久久久久久久日本理论电影 | 一区二区三区日韩在线 | 免费在线一区二区 | 成人毛片免费 | 亚洲成人精品久久久 | 黄色片网站在线看 | 日本精品久久久一区二区三区 | 奇米影视奇米色777欧美 | 欧美精品久久久久久久久老牛影院 | 成人福利电影在线观看 |