Bonjour
dans mon application j'ai une UIView qui contient un UISearchBar et un UITableview que je charge à partir d'un fichier xml
tout cela marche parfaitement:
dans la phase suivante, je dois charger une nouvelle uiview contenant un nouveau uitableview
lorsque l'utilisateur tappe une chaine dans le searchbar
j'ai procédé comme suit:
dans la fonction searchBarSearchButtonclicked
J'ai créé un ViewController (searchResultController) et le .xib correspondant (et j'y ai mis le UITableView qui affichera les données).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 [self.searchBar resignFirstResponder]; src = [[searchResultController alloc] initWithNibName:@"searchResultController" bundle:nil]; [self.navigationController pushViewController:src animated:YES]; [self.view addSubview:src.view]; [src release];
J'ai mis le code suivant dans le viewcontoller : (searchResultController.m)
et dans le .h j'ai déclarré un UITableView comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 - (void)viewDidLoad { tableauSearch = [[NSMutableArray alloc] init]; NSURL *url = [NSURL URLWithString: @"http://www.monsite.com/feed.xml"]; XMLToObjectParser *myParser = [[XMLToObjectParser alloc] parseXMLAtURL:url toObject:@"baliseXml" parseError:nil]; for(int i = 0; i < [[myParser items] count]; i++) { eventLoc *new = [[eventLoc alloc] init]; new = (eventLoc *)[[myParser items] objectAtIndex:i]; [tableauSearch addObject:new]; [new release]; } [super viewDidLoad]; } /***************************************/ - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return 1; } /***************************************/ - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return [tableauSearch count]; } /***************************************/ - (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:@"%@ %@", [[tableauSearch objectAtIndex:indexPath.row] maBalise1],[[tableauSearch objectAtIndex:indexPath.row] maBalise2]]; cell.text=ligneTableau; // Configure the cell. return cell; }
et bien sure dans IB j'ai lié le tblSearchTable avec le UITableView et j'ai connecté datasource et delegete au file's orner
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 IBOutlet UITableView *tblSearchTable; ... @property (nonatomic, retain) IBOutlet UITableView *tblSearchTable;
mais l'application crash au chargement de ce 2eme UITableView.
(si je déconnecte datasource et delegate du file's owner l'application ne crash pas mais affiche un tableview vide)
je précise que le 2éme tablview est fait de la même manière que le premier mais ne marche pas :s
Merci pour votre aide.
Partager