Swift第三方之网络请求

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
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,048评论 3 119
  • 后腿一步
    夏更幽阅读 1,228评论 0 0
  • 西塞一帆顷,东风何处边。 鳙鰅此时便,已下珊瑚川。 文窗九方便,凉风过时数。 千金延上人,百万度老虎。 薄暮一鸿飞...
    江南莫之阅读 5,400评论 11 25
  • 一年之中最迷人的当属春天的景色,往往被诗人凝固在诗句中: “应怜屐齿印苍苔,小扣柴扉久不开。 春色满园关不住,一枝...
    奔跑中的夜明珠阅读 3,122评论 5 4