2010-10-26 6 views
0

J'ai un ViewController qui doit utiliser 2 UITableViews.
1 est toujours affiché, tandis que l'autre apparaîtra en tant que popup après avoir cliqué sur un bouton de la vue.UITableView avec plusieurs sources de données

Généralement, je définis le délégué et la source de données au propriétaire du fichier. Cependant, puisque 1 des UITableViews est dans un popup, je ne suis pas sûr de savoir comment y remédier.

Par exemple, comment aborder cette partie (UITableViewCell *) tableView: (UITableView *) tableView cellForRowAtIndexPath: (NSIndexPath *) indexPath;

Veuillez nous consulter.

Merci,
T-

Répondre

7

Vous devriez avoir des variables d'instance pour les deux vues de table déclarées dans votre contrôleur:

@interface MyViewController : UIViewController <UITableViewDataSource, UITableViewDelegate> 
{ 
    UITableView *mainTableView; 
    UITableView *popupTableView; 
} 

Dans chaque source ou méthode déléguée des données, vous pouvez vérifier quelle vue table est passé par l'appelant:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    if(tableView == mainTableView) 
    { 
    // Code to create and return a main table view cell 
    } 
    else if(tableView == popupTableView) 
    { 
    // Code to create and return a popup table view cell 
    } 
} 
+0

J'étais sur le point de taper exactement la même chose. +1 –

Questions connexes