网络请求数据解析---Swift

数据解析我们需要拿到接口部分的名称 根据工程中的MVC设计模式进行传值 获取
我们需要用到第三方的数据解析方法
点击获取第三方
导入自己工程中
导入头文件
创建model类

M

例如:在这里插入图片描述
class model: NSObject {
// coverLarge fmUid name programName id
var dic:NSDictionary?
var coverSmall:String = “”
var name:String=""
var coverLarge:String=""
var programName:String=""
}
上边的是model类里面拿到的接口部分的 图片 名字 数字 名称

v

进行xib的拖拽进行单元格
例如:
在这里插入图片描述
在这里插入图片描述
还有就是重要的一步就是让xib的拽入JX-Cell.swift里面
如下:
在这里插入图片描述
JX-Cell.swift里面书写一个自定义的方法
如下案例:
func setcelldata(mo:model) -> Void {
let name = mo.dic
let strImagV = name![“coverSmall”]
let urlStr = NSURL(string:strImagV as! String)
let data = NSData(contentsOf: urlStr! as URL)

    self.Touima.image = UIImage(data: data! as Data)
    self.Zhutitle.text = (name!["name"] as! String)
    //self.XimgV.image = UIImage(data: data! as Data)
    self.Name.text = (name!["name"] as! String)
    self.Time.text = (name!["programName"] as! String)
}

这里面已经给出了model类的名称赋值给view拖拽名称了

model view 书写完成进入控制器里面进行网络解析运用Alamofire

结合上面V 拖拽进行注册
进行xib注册复用
self.tableView!.register( UINib(nibName: “JX-Cell”, bundle: nil), forCellReuseIdentifier: “cells”)

例如:

一定要初始化需要接受解析时的存入的字典或者数组
如下:
var dicc = NSDictionary()
var dictr:NSDictionary=[:]
var dic1:NSArray = []//数据内容存入

Alamofire.request(“网络地址”, method: .get, parameters: nil, encoding: URLEncoding.default, headers: nil).responseJSON{(response) in
// print ( response.result.value)
if(response.error==nil){
// print(response.result.value as Any)
//存入新字典
self.dicc = (response.result.value as? NSDictionary)!
/存入新字典
self.dictr = self.dicc.object(forKey: “data”) as! NSDictionary
//取出的内容存放到新的数组用于单元格取出数据
self.dic1 = self.dictr.object(forKey: “localRadios”) as! NSArray

            //                print(self.dic1 as Any)
            self.tableView?.reloadData()
        }else{
            print("请求失败")
        }
    }

下面就是在单元格内容里面书写
网络数据依次拿出赋值给model类里面的名称
model数据存入数组
数组给入view里面的更类型赋值
如下:
表格复用
let cell1:JX_Cell = tableView.dequeueReusableCell(withIdentifier: “cells”) as! JX_Cell
tableView.rowHeight=100

        let name:NSDictionary = dic1[indexPath.row] as! NSDictionary
        let md:model = model()
        md.dic = name
      
        cell1.setcelldata(mo:md)
        
          return cell1

切记点是在表格行数的方法中返回的行数一定是接收数据解析是的的个数如上案例的数组:
return dic1.count

猜你喜欢

转载自blog.csdn.net/qq_22049111/article/details/84142581