美文网首页
Swift第三方之网络请求

Swift第三方之网络请求

作者: 呵邢 | 来源:发表于2018-09-21 09:19 被阅读0次

    1.cocopods集成网络解析的第三方

    pod 'SwiftyJSON'
    

    2.对网址接口进行解析

    //解析表格数据
        func AnalyticalData()  {
            //MARK:解析网络数据
            let parameters = ["method":"app.news.getarticlelist","class_id":"1"]
            Alamofire.request("http://test.bit.api.meeboo.cc", method: .post, parameters: parameters, encoding: URLEncoding.default, headers: nil).responseJSON { (response) in
                if(response.error == nil){
                    print(response.result.value!)
                    //将请求的数据进行层层解析
                }else{
                    print("请求失败\(String(describing: response.error))")
                }
            }
        }
    

    3.打印出数据查看数据结构,创建一个Model类

        var title = ""
        var create_time = ""
        var img = ""
        var author = ""
    

    4.声明一个Model类型数组用来接收数据

    var dataArray:[Model] = []
    

    5.将请求的的数据进行层层解析

                    let json = JSON(response.value ?? "")
                    for item in json["data"]["list"].arrayValue{
                        let model = Model()
                        
                        model.title = item["title"].stringValue
                        model.create_time = item["create_time"].stringValue
                        model.author = item["author"].stringValue
                        model.img = item["img"].stringValue
                        self.dataArray.append(model)
                    }
                    //返回主线程刷新表格
                    OperationQueue.main.addOperation {
                        self.table?.reloadData()
                    }
    

    6.创建表格进行展示数据

    //<1.声明表格属性
          var table : UITableView?
    //<2.实现表格
            table = UITableView(frame: CGRect(x: 0, y: 260, width: self.view.bounds.size.width, height: self.view.bounds.size.height - 260), style: .plain)
            table?.backgroundColor = UIColor.cyan
    /*       
             //自定义table
            table?.register(NSClassFromString("CustomTableViewCell"), forCellReuseIdentifier: "CustomCell")
    */
            table?.delegate = self
            table?.dataSource = self
            self.view.addSubview(table!)
    //<3.数据源方法
    //数据源方法
        /*func numberOfSections(in tableView: UITableView) -> Int {
            return 1
        }*/
        func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
            return dataArray.count
        }
        
        func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
           
            let  identifier = "cell"
            var cell = tableView.dequeueReusableCell(withIdentifier: identifier)
            if cell == nil {
                cell = UITableViewCell(style: .subtitle, reuseIdentifier: identifier)
            }
            
            return cell!
        }
        func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
            return 130
        }
    

    相关文章

      网友评论

          本文标题:Swift第三方之网络请求

          本文链接:https://www.haomeiwen.com/subject/oezonftx.html