简体   繁体   English

带有原型单元的tableView不重新加载数据

[英]tableView with prototype cell not reloading data

Hey Guys I'm trying of figure out what i'm doing wrong with no luck 大家好,我想找出我做错了什么,但是没有运气

basically I have a webservice that returns some results that I want to put them in table in an iOS app 基本上我有一个Web服务,它返回一些结果,我希望将它们放在iOS应用程序的表中

I am using prototype cell with 3 labels do put the results per line of the table 我正在使用带有3个标签的原型单元,将结果放在表格的每行中

The problem is that the table is always empty 问题是表格总是空的

I checked that no values regarding the web service response are nil 我检查了有关Web服务响应的值是否为零

Can anyone Help Me? 谁能帮我?

import UIKit
import Alamofire
import SwiftyJSON

class DetailsViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {


    @IBOutlet weak var TableDeliveryDetails: UITableView!
    @IBOutlet weak var bostampLabel: UILabel!
    @IBOutlet weak var distribuidorLabel: UILabel!
    @IBOutlet weak var exploracaoLabel: UILabel!
    @IBOutlet weak var dataLabel: UILabel!
    @IBOutlet weak var descargaLabel: UILabel!


    var bostampLabelText=""
    var distribuidorLabelText=""
    var exploracaoLabelText=""
    var dataLabelText=""
    var descargaLabelText=""
    var getsDetailsCollection = [GetDeliveryDetailsClass]()


    override func viewDidLoad() {
        super.viewDidLoad()

        self.TableDeliveryDetails.dataSource=self
        self.TableDeliveryDetails.delegate=self
        self.TableDeliveryDetails.registerClass(TableViewCellDetails.self, forCellReuseIdentifier: "cell")


        //bostampLabel.text=bostampLabelText
        distribuidorLabel.text=distribuidorLabelText
        exploracaoLabel.text=exploracaoLabelText
        dataLabel.text=dataLabelText
        descargaLabel.text=descargaLabelText


        Alamofire.request(.GET, "http://192.168.0.1:1278/api/Delivery/GetDeliveryDetais", parameters: ["stamp": bostampLabelText])
            .responseJSON { response in
                print(response.request)  // original URL request
                print(response.response) // URL response
                print(response.data)     // server data
                print(response.result)   // result of response serialization

                if let JSON = response.result.value {

                    let jsonResults = JSON as! NSArray
                    for var i = 0; i < jsonResults.count; i++ {
                        var produto=jsonResults[i]["Produto"] as! String
                        var qttKg = jsonResults[i]["QuantidadeKG"] as! Double
                        var qttLt = jsonResults[i]["QuantidadeLT"] as! Double
                        var getObj = GetDeliveryDetailsClass(produto:produto,qttKg:qttKg,qttLt:qttLt)

                        self.getsDetailsCollection.append(getObj)
                        // print(add)
                        // TableClienteFinal.append(add)
                    }

                }
                self.reload_table_data()

        }


    }

    func reload_table_data()
    {
        dispatch_async(dispatch_get_main_queue(),{
            self.TableDeliveryDetails.reloadData()
            return
            })
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return self.getsDetailsCollection.count
    }

     func numberOfSectionsInTableView(tableView: UITableView) -> Int {
        return 1
    }


    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {



      //  let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! TableViewCellDetails
        let cell = tableView.dequeueReusableCellWithIdentifier("cell") as! TableViewCellDetails

        let object = self.getsDetailsCollection[indexPath.row]
        cell.columProdutoText=object.produto
        cell.columQttKgText=String(format:"%f", object.qttKg)
        cell.columnQttLtText=String(format:"%f", object.qttLt)
        return cell
    }

Anyone??? 任何人???

Use this 用这个

cell.columProdutoText.text=object.produto cell.columQttKgText.text=String(format:"%f", object.qttKg) cell.columnQttLtText.text=String(format:"%f", object.qttLt) cell.columProdutoText.text = object.produto cell.columQttKgText.text = String(format:“%f”,object.qttKg)cell.columnQttLtText.text = String(format:“%f”,object.qttLt)

If columProdutoText , cloumQttKgText ,columnQttLtText are labels having outlets in your customtableviewcell 如果columProdutoText,cloumQttKgText,columnQttLtText是在您的customtableviewcell中具有出口的标签

Weird question for me to ask but did you also set the datasource and delegate in your storyboard file? 我想问一个奇怪的问题,但您是否还在情节提要文件中设置了数据源和委托? I've seen that every time I just set the delegate and datasource in code it never linked up in IB so my cells were always empty. 我已经看到,每次我只在代码中设置委托和数据源时,它就不会在IB中链接起来,因此我的单元格总是空的。 Once I linked them in IB I was fine 一旦将它们链接到IB,我就很好

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM