1
votes

Comment charger des données en vue tableau

Comment charger des données dans mon UITableView ? Quelqu'un peut-il s'il vous plaît m'aider avec ce problème: pourquoi ne pas charger dans cellForRowAt

  • pPlandDetailId ==> Facultatif (1)
  • Pilote ==> Nom du pilote: Boonma, Pongpat
  • carRegistrtation ==> Enregistrement de voiture: 60-7620
  • StoreLocation ==> ["S.Surathani"]
  • pDepartureDateTime ==> ["18/01/2019 20:00"]
import UIKit

class cellTableViewCell: UITableViewCell {

    @IBOutlet weak var Location: UILabel!
    @IBOutlet weak var DepartureTime: UILabel!

    override func awakeFromNib() {
        super.awakeFromNib()
    }

    override func setSelected(_ selected: Bool, animated: Bool) {
        super.setSelected(selected, animated: animated)
    }
}
import UIKit

class StoreListMainViewController: UIViewController,UITableViewDelegate, UITableViewDataSource{

// TableView
    @IBOutlet weak var tableView: UITableView!
    var StoreLocation: [String] = []
    var getDepartureTime: [String] = []

    override func viewDidLoad() {
        super.viewDidLoad()
        createTableiew()
    }//Main Method

     //  TableView
    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        return 50
    }

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return StoreLocation.count
    }

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as? cellTableViewCell
        cell!.Location.text = StoreLocation[indexPath.row]
        cell!.DepartureTime.text = getDepartureTime[indexPath.row]
        print("cell!.Location.text ==>\(String(describing: cell!.Location.text) )")
        return cell!
    }

    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        let vc = storyboard?.instantiateViewController(withIdentifier: "gotoTempMonitorStoreList") as? StoreListTempMonitorViewController
        self.navigationController?.pushViewController(vc!, animated: true)
    }

   //  Create UI Table view
    func createTableiew() -> Void {
        tableView.delegate = self
        tableView.dataSource = self
    }//createTableiew


6 commentaires

où est-ce que vous visualisezdidload avez-vous approuvé votre délégué tableview dedans également après avoir récupéré des données vous devez recharger votre table


D'après votre code, il semble que vous ayez plusieurs problèmes qui peuvent l'empêcher de charger les données. Dans le cellForRowAt , vous définissez deux valeurs sur deux libellés, mais le tableau StoreLocation que vous utilisez comme source de données n'est qu'un tableau de chaînes. Tout d'abord, pourriez-vous dire ce qui est jsonResponsePlanDetail et peut-être montrer un exemple de sa structure ici?


@Isuru Je suis codé à jour, veuillez me suggérer à nouveau


@ Nardanong.s Je ne vois toujours pas ce qu'est jsonResponsePlanDetail ? Le nom suggère qu'il s'agit d'une réponse JSON. Pouvez-vous montrer à quoi il ressemble?


@Isuru Je suis le code mis à jour et je montre déjà jsonResponsePlanDetail. Veuillez me suggérer. pourquoi la date ne peut pas se charger dans cellForRowAt


@Isura Je peux charger des données dans cellForRowAt dans TableView terminé.Merci.


3 Réponses :


0
votes

rechargez tableview tableView.reload () où vous avez reçu des données.


0 commentaires

0
votes

Puisque vous n'utilisez pas un UITableViewController , vous devez définir un délégué et une source de données sur votre objet tableView . Ressemble à quelque chose comme ceci:

override func viewDidLoad() {
      tableView.dataSource = self
      tableView.delegate = self
}

C'est tout. Profitez


0 commentaires

0
votes

Je vous suggère de récupérer d'abord les données, puis d'essayer de recharger votre vue de tableau. Une fois que vous avez défini le tableau sur les valeurs de table automatiquement, ils seront affichés dans le tableau à condition que vous codiez les propriétés de l'objet aux valeurs Outlet de la cellule.


0 commentaires