2017-08-08 4 views
-3

Actuellement, j'ai une tableview qui charge les cellules lorsque je défile vers le bas (scrollview). Est-il possible de charger et de remplir toutes les cellules sur viewDidLoad. Je voudrais assigner des données à une cellule avant qu'elle puisse être vue. J'ai essayé using self.tableView.reloadData() mais pas réussi.Charger une cellule TableView avant/sur ViewDidLoad?

+0

qui est contre la méthode recommandée pour l'utilisation UITableView, qui réutilise les cellules. Si vous ne voulez pas obtenir ce comportement pour une raison quelconque, vous pouvez essayer avec des cellules statiques UITableViews ou même avec un UIStackView avec chaque cellule empilée – Koesh

Répondre

1

Si vous ne souhaitez pas utiliser le concept de réutilisation de cellule UITableView's, créez tous les UITableViewCells au préalable dans viewDidLoad et stockez-les dans un tableau.

Exemple:

class ViewController: UIViewController, UITableViewDataSource 
{ 
    var arr = [UITableViewCell]() 

    override func viewDidLoad() 
    { 
     super.viewDidLoad() 
     //Create your custom cells here and add them to array 
     let cell1 = UITableViewCell() 
     let cell2 = UITableViewCell() 
     arr.append(cell1) 
     arr.append(cell2) 
    } 

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

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell 
    { 
     return arr[indexPath.row] 
    } 
}