在模型类

时间:2016-12-14 22:45:45

标签: ios swift uitableview

我试图在从http请求获取数据后在UITablleView中显示数据。我听说最好和最专业的方法是配置单元格并在模型类中执行调用请求,然后将其发送到视图控制器。所以这是我试图做的,但我认为它不顺利。我知道这是一个错误的问题,但我想向你展示我所得到的东西。

UITable View Cell:

@IBOutlet weak var status : UILabel!
@IBOutlet weak var date : UILabel!
@IBOutlet weak var model : UILabel!

func ConfigCell (car : Car){    
    let urlstr = "http://localhost:8000/api/newuser/check"
    let url = URL(string: urlstr)
    guard let token = UserDataSingleton.sharedDataContainer.token else { return  }
    let headers = ["Authorization":"Bearer \(token)"]
    var statusCode: Int = 0
    request(url! ,  method: .get,  encoding: JSONEncoding.prettyPrinted ,  headers: headers )
        .responseJSON { response in
            if let value: AnyObject = response.result.value as AnyObject? {
                //Handle the results as JSON
                let json = JSON(value)                  
                for (key, subJson) in json["allcar"] {
                    if let status = subJson["status"].string {
                        self.status.text = status
                        if let date = subJson["created_at"].string {
                              self.date.text = date

                            if let model = subJson["model"].string {
                                self.model.text = model
                                let Status = [
                                    Car(model: model, status: status, date: date)]

车型

 class Car {

private var _mode : String?
private var _status : String?
private var _date : String?


var model : String{
    return _model!
}
var status : String {
    return _status!
}
var date : String {
    return _date!
}

init(model : String , status :String,date : String) {
    self._status = status
    self._model = model
    self._date = date
}

控制器

class testViewController: UIViewController, UITableViewDelegate , UITableViewDataSource {

 let data = [Car]()

@IBOutlet weak var tableview: UITableView!

override func viewDidLoad() {

    tableview.delegate = self
    tableview.dataSource = self
    print(data.count)
}

func numberOfSections(in tableView: UITableView) -> Int {
   return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
   return data.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

let cell = tableView.dequeueReusableCell(withIdentifier: "CarCell", for: indexPath) as! CarC

    let entry = data[indexPath.row]
    cell.date.text = entry.date
    cell.model.text = entry.model
    cell.status.text = entry.status
    return cell

我可以在不同模型中的视图控制器和单元格标签中完成所有操作,但我正在寻求“专业”的方式来执行此操作 此代码的问题

数据数组为0,因此表中没有数据显示

0 个答案:

没有答案