Bonjour,
J'ai un soucis (eh oui).
J'ai un TableView dans une vue de mon appli. Dans IB, son datasource est lié à mon View Controller.
Dans mon View Controller, je remplis les données en parsant un fichier xml puis avec le code suivant :
Malheureusement, tout ceci est fait au lancement de l'appli.
J'ai donc mis le code pour parser le xml sur l'IBAction d'un bouton ainsiq eu la boucle pour remplir mon array.
Ceci marche mais je n'arrive pas mettre à jour les données du TableView.
J'ai essayé de lui donner un nom et de faire un [nom reloadData]; mais cela ne fonctionne pas.
Le datasource et le delegate de ma TableView sont biens liés à mon View Controller.
Quelqu'un peut-il m'aider ?
J'ai un soucis (eh oui).
J'ai un TableView dans une vue de mon appli. Dans IB, son datasource est lié à mon View Controller.
Dans mon View Controller, je remplis les données en parsant un fichier xml puis avec le code suivant :
Bloc de code:
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
// Customize the number of rows in the table view.
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return [tableau count];
}
// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
NSString *ligneTableau = [NSString stringWithFormat:@"%@ %@", [[tableau objectAtIndex:indexPath.row] libelle],[[tableau objectAtIndex:indexPath.row] valorisation]];
cell.text=ligneTableau; // Configure the cell.
return cell;
}
Malheureusement, tout ceci est fait au lancement de l'appli.
J'ai donc mis le code pour parser le xml sur l'IBAction d'un bouton ainsiq eu la boucle pour remplir mon array.
Bloc de code:
NSURL *url2 = [NSURL URLWithString: @"[URL="http://url.xml/"]http://url.xml[/URL]"];XMLToObjectParser *myParser = [[XMLToObjectParser alloc] parseXMLAtURL:url2 toObject:@"Contact" parseError:nil];
for(int i = 0; i < [[myParser items] count]; i++) {
Contact *new = [[Contact alloc] init];
new = (Contact *)[[myParser items] objectAtIndex:i];
[tableau addObject:new];
[new release];
}
Ceci marche mais je n'arrive pas mettre à jour les données du TableView.
J'ai essayé de lui donner un nom et de faire un [nom reloadData]; mais cela ne fonctionne pas.
Le datasource et le delegate de ma TableView sont biens liés à mon View Controller.
Quelqu'un peut-il m'aider ?