1. 程式人生 > >網路請求資料解析---Swift

網路請求資料解析---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 書寫完成進入控制器裡面進行網路解析運用Alamofire

結合上面V 拖拽進行註冊
進行xib註冊複用
self.tableView!.register( UINib(nibName: “JX-Cell”, bundle: nil), forCellReuseIdentifier: “cells”)

例如:
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