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
}
网友评论