• swift 第十课 cocopod 网络请求 Alamofire


    这个 cocopod 真的是不容易,差点就放弃了……

    还好,我足够的坚持……

    还是首先说下具体的步骤,希望能记得足够的详细……

    1.打开终端,cd 到自己项目的文件夹

      cd 文件路径

    2.执行 vim Podfile ,创建一个podfile 文件,编辑该文件 -》退出

    platform :ios, '8.0'
    use_frameworks! 
    
    target 'EZhiChao' do
        pod 'Alamofire', '~> 4.4'
        pod 'SDWebImage', '~>3.7'
    end

    3.Pod install 更新 ,静静等待更新完成

    4.在 General -> Linked Frameworks andLibraries 中导入

     pods_"自己的项目名称".framework

    导入成功后,使用 Almofire:

    还是建议对这个进行简单的封装,swift 本不用引入头文件的,但是使用framework 的时候,就需要导入下头文件了,如果每次网络请求都要导入这个,就觉的很麻烦,

    所以就执行最简单的封装就好:::::图个方便

    import UIKit
    import Alamofire
    
    class NetManager: NSObject {
        /*
         get 请求
         */
        class func getData(url:String,parameters:Dictionary<String,Any>?,success:@escaping ((Any)->Void))  {
            
            Alamofire.request(url, method: .get, parameters: nil).responseJSON { (returnResult) in
                
                switch returnResult.result{
                    
                case .success(let json):
                 
                    success(json)
                    
                case .failure(let error):
                    print("url 请求错误 (url) 
     error == (error)")
                    break;
                }
            }
        }/*
         post 请求
         */
        class func postData(url:String,parameters:Dictionary<String,Any>?,success:@escaping ((Any)->Void)){
        
             Alamofire.request(url, method:.post, parameters: parameters).responseJSON {(respose) in
              
                switch respose.result {
                    
                case .success(let json): 
                    success(json)
                    
                case .failure(let error):
                    print("url 请求错误 (url) 
     error == (error)")
                }
            }
        }
    }

    还有就是接收到json 数据的时候,着实的为难了下,主要是刚刚开始不会swift 的 json 解析,这里一并记录了:::::

      func getData()  {
            
        let url = String.init(format:"%@%@" ,hostUrlString, "app/all_article")
            
            NetManager.getData(url: url, parameters:nil) { (respose) in
                
                print("respose (respose)")
    let dict
    = respose as! Dictionary<String,AnyObject> let body = dict["body"] as! Dictionary<String,AnyObject> let arr = body["list"] as! Array<Dictionary<String, Any>> for dictionary in arr { let model :Model = Model.creatModel(dictionary: dictionary) self.dataArr.append(model) self.myTableView.reloadData() } } }

    cocopod 暂时写到这里吧,暂时的话,应该够用的了……

    由于一直最近网络一直请求错误,发生各种各样的终止,所以就贴一张,http的 报错表格吧——————————

  • 相关阅读:
    Codeforces Round 731 (Div.3) 所有题目题解
    NOI2021 同步赛游记
    【题解】CF1547F Array Stabilization (GCD version)
    Codeforces 人类智慧题目大赏
    【题解】CF1559E Mocha and Stars
    OI 日常犯的一些错误
    AtCoder Beginner Contest(ABC) 247 A~G 题解
    【题解】[六省联考 2017] 组合数问题
    Something about My Blog
    【OI 退役记】NOIP2022 游记
  • 原文地址:https://www.cnblogs.com/Bob-blogs/p/6590088.html
Copyright © 2020-2023  润新知