Question simple: d'où proviennent les arguments tableView
et section
? Le code réel de la méthode return [self.listData count];
ne les mentionne même pas.D'où proviennent les arguments de cette méthode?
Voici mon code d'interface:
@interface Simple_TableViewController : UIViewController
<UITableViewDelegate, UITableViewDataSource>
{
NSArray *listData;
}
@property (nonatomic, retain) NSArray *listData;
@end
Et cela est tout le code de mise en œuvre:
#import "Simple_TableViewController.h"
@implementation Simple_TableViewController
@synthesize listData;
- (void)viewDidLoad {
NSArray *array = [[NSArray alloc] initWithObjects:@"Sleepy", @"Sneezy",
@"Bashful", @"Happy", @"Doc", @"Grumpy", @"Dopey", @"Thorin",
@"Dorin", @"Nori", @"Ori", @"Balin", @"Dwalin", @"Fili", @"Kili",
@"Oin", @"Gloin", @"Bifur", @"Bofur", @"Bombur", nil];
self.listData = array;
[array release];
[super viewDidLoad];
}
- (void)viewDidUnload {
self.listData = nil;
}
- (void)dealloc {
[listData release];
[super dealloc];
}
#pragma mark -
#pragma mark Table View Data Source Methods
- (NSInteger)tableView:(UITableView *)tableView
numberOfRowsInSection:(NSInteger)section {
return [self.listData count];
}
Je veux juste savoir comment la méthode ne (NSInteger)tableView: (UITableView *)numberOfRowsInSection:
recevoir ces arguments? Bien sûr, cela arrive partout; Je veux juste le comprendre.
Cela est vrai, mais cela signifie-t-il que tous les arguments de toutes les méthodes ne sont pas requis? Ou ont-ils des défauts? De plus, je sais que cette méthode est déclenchée par le délégué, mais comment puis-je savoir quel événement déclenche le déclenchement? –
La source de données de table doit implémenter certaines méthodes avec des interfaces spécifiques. -tableView: numberOfRowsInSection: est un bon exemple - la source de données ne parvient pas à réécrire le nom de la méthode pour éliminer les paramètres inutiles - si c'est le cas, comment UITableView sait-il quelle méthode appeler? Ainsi, dans ce cas, la table donne à sa source de données plus d'informations qu'elle n'en a besoin pour répondre à la question "Combien y a-t-il de lignes?" La méthode n'est pas obligée d'utiliser tous ses paramètres. – Caleb