Votre objet a été défini en tant que source de données de UITableView quelque part. Très probablement, en faisant une connexion à InterfaceBuilder, mais il est facile de le faire dans le code en définissant la propriété dataSource
du UITableView:
- (void) setUpMyJunkMan
{
myTableView.dataSource = self;
}
Une fois que vous avez défini votre objet comme source de données, la table sera invoquez la méthode si nécessaire pour déterminer ce dont elle a besoin ou comment elle doit réagir aux événements.
Votre objet est requis pour implémenter le protocole UITableViewDataSource
(bien que, si vous avez connecté la source de données via InterfaceBuilder, il n'y a pas de problème si vous ne le faites pas - il s'agit plus d'une validation de compilation qu'un runtime). Si vous regardez la déclaration UITableViewDataSource
, vous verrez qu'un certain nombre de méthodes sont @optional
.Le reste sont @required
; vous devez les implémenter pour remplir le contrat du protocole.
Ceci est la principale différence entre les sources de données et les délégués. Les délégués peuvent éventuellement implémenter n'importe laquelle des méthodes déclarées. Les sources de données créent une relation beaucoup plus formelle entre les deux objets dans laquelle certaines des méthodes doivent être implémentées.
UITableViews l'appelle quand il le faut. Je ne sais pas comment les créer etc .. Je suis aussi nouveau à cela. –
En outre, indentez votre code avec quatre espaces dans ce post et voir ce qui se passe. –