Il existe deux types de cellules de vue de tableau qui vous sont fournies via le storyboard, ce sont des prototypes dynamiques et des cellules statiques.
1. Prototypes dynamiques
A partir du nom, ce type de cellule est généré dynamiquement. Ils sont contrôlés par votre code, pas par le storyboard. Avec l'aide du délégué de la vue tableau et de la source de données, vous pouvez spécifier le nombre de cellules, les hauteurs de cellules, le prototype de cellules par programme.
Lorsque vous faites glisser une cellule vers votre vue de tableau, vous déclarez un prototype de cellules. Vous pouvez ensuite créer n'importe quelle quantité de cellules sur la base de ce prototype et les ajouter à la vue de tableau via la cellForRow
méthode, par programme. L'avantage est que vous n'avez besoin de définir qu'un seul prototype au lieu de créer chaque cellule avec toutes les vues ajoutées par vous-même (voir cellule statique).
Donc, dans ce cas, vous ne pouvez pas connecter les éléments d'interface utilisateur du prototype de cellule à votre contrôleur de vue. Vous n'aurez qu'un seul objet contrôleur de vue lancé, mais plusieurs objets de cellule peuvent être lancés et ajoutés à votre vue de table. Il est inutile de connecter le prototype de cellule au contrôleur de vue car vous ne pouvez pas contrôler plusieurs cellules avec une seule connexion de contrôleur de vue. Et vous obtiendrez une erreur si vous le faites.
Pour résoudre ce problème, vous devez connecter votre étiquette prototype à un UITableViewCell
objet. A UITableViewCell
est également un prototype de cellules et vous pouvez initier autant d'objets de cellule que vous le souhaitez, chacun d'eux est ensuite connecté à une vue générée à partir de votre prototype de cellule de table de scénario.
Enfin, dans votre cellForRow
méthode, créez la cellule personnalisée à partir de la UITableViewCell
classe et faites des choses amusantes avec l'étiquette
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "yourCellIdentifier") as! YourCell
cell.label.text = "it works!"
return cell
}
2. Cellules statiques
D'autre part, les cellules statiques sont en effet configurées via le storyboard. Vous devez faire glisser les éléments de l'interface utilisateur vers chaque cellule pour les créer. Vous contrôlerez le nombre de cellules, les hauteurs, etc. à partir du storyboard. Dans ce cas, vous verrez une vue de table qui est exactement la même que celle de votre téléphone par rapport à ce que vous avez créé à partir du storyboard. Les cellules statiques sont plus souvent utilisées pour la mise en page, que les cellules ne changent pas beaucoup.
Pour contrôler les éléments de l'interface utilisateur d'une cellule statique, vous devrez en effet les connecter directement à votre contrôleur de vue, et les paramétrer.