Swift 中的網絡請求問題 OC(AFNetworking) && Swift(Alamofire)

一.使用 AFNetworking 第三方(OC 混編)

1. 導入 AFNetworking 第三方

2. 建立 Swift 與 OC 的橋接頭文件

請點擊前往,參考這篇文章建立橋接

3. 在操作的 VC 中實現代碼

在 viewDidLoad 方法中


        let parameters = [
            "Id": "150529162646"
        ]


        WZYNetworkTool.shareInstance.request(requestType: .Get, url: kUrl, parameters: parameters, succeed: { (response) in
            guard let dicArray = response  else {
                return
            }
            print(dicArray)

        }) { (error) in

            guard let error = error else {
                return
            }
            print(error)
        }


    }
  • 1
    這裏寫圖片描述

  • 2
    這裏寫圖片描述

  • 3
    這裏寫圖片描述

  • 4 可能這種理解會有bug
    這裏寫圖片描述






二. 使用 Alamofire 第三方 ( Swift )

**前去下載最新的   Alamofire  第三方

part1: 導入工程:

1. 根據前面下載一個版本的 Alamofire 文件~

2. 新建一個工程~

3.拷貝 Alamofire 文件到我們新建的工程中~

4.添加文件到我們自己的工程中~

  
  

5.檢查一下我們靜態庫有沒有加到工程~沒有的話我們手動添加一下~


結果應該是這樣:

6.導入頭文件import Alamofire檢查是否配置錯誤~這裏可能沒有提示~直接敲完~編譯一下就OK了~




part2: 使用 Alamofire

 func methodForSwift() -> Void {
        //        let urlStr = "\(SERVICE_URL)type=\(TOP)&key=\(APPKEY)"
        let kUrl = "http://community.alllu.com/?api-threadList"
        let parameters = [
            "pag": "2",
            "id": "144f248abf9789911c8ab1e903ec0f10"
        ]
        Alamofire.request(kUrl, method: .post, parameters: parameters).responseJSON { (returnResult) in
            print("secondMethod --> 參數 --> returnResult = \(returnResult.value as Any)")


            //字典接收 JSon 數據
           let dataDict = returnResult.value as! [String : Any] ;
            //從字典中根據 key 提取 value 爲數組的數據
            let dataArr = dataDict["data"] as! [Any];
            for dic in dataArr{
                print("title 數值: ",dic);
                //從數組中提取字典
                let anDict = dic as! [String : Any];
                //從字典中提值
                let userFaceStr = anDict["userFace"] as! String ;
                print("提取單個圖片=地址: ",userFaceStr);
                let picStr = anDict["userFace"] as! String ;
                let titleStr = anDict["title"] as! String ;

                self.titleArr.append(titleStr);
                self.picArr.append(picStr);
            }
//             print("title 數租: ",self.titleArr);
              //主線程刷新 UI
            DispatchQueue.main.async {
                 self.makeTable();
                 self.forInArrayHandel();
            }
        }
    }

參考於:笨笨編程





本文OC 與 Swift 的網絡請求源碼

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章