J'ai un ViewController
dans le MainstoryBoard
. J'y ai ajouté le TableView
.
MainStoryBoard:
De plus, j'ai un tableau en dehors de la classe ViewController
et je veux que les objets à l'intérieur du tableau soient affichés dans le TableView
.
Je ne sais pas comment faire. J'ai connecté le délégué entre le TableView
et le ViewController
.
Vous ajoutez une nouvelle variable d'instance de vue de table sous la déclaration de classe.
@IBOutlet weak var tableView: UITableView!
Pour se conformer aux protocoles UITableViewDelegate
et UITableViewDataSource
, ajoutez-les simplement séparés par des virgules après UIViewController
dans la déclaration de classe
Après cela, nous devons implémenter les méthodes tableView(_:numberOfRowsInSection:)
, tableView(_:cellForRowAtIndexPath:)
et tableView(_:didSelectRowAtIndexPath:)
dans la classe ViewController
et les laisser vides pour l'instant
class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
...
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 0 // your number of cells here
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
// your cell coding
return UITableViewCell()
}
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
// cell selected code here
}
}
Comme mentionné par @ErikP dans les commentaires, vous devez également définir self.tableView.delgate = self
Et self.tableView.dataSource = self
Dans la méthode viewDidLoad
(ou dans Storyboard fonctionne bien aussi).
je suis peut-être en retard et vous avez peut-être résolu ce problème maintenant. L'erreur que vous obtenez est due à votre variable ou constante renvoyant une valeur nulle. pour tester cela, vous pouvez lui attribuer une valeur (coder en dur) et vérifier le code complet s'il fonctionne, puis le modifier dans votre tableau, malheureusement, je fais des choses par programmation et pas très familier avec le storyboard.
si vous partagez votre code, nous vous assisterons s'il n'est pas encore trié.