UITableView с несколькими источниками данных - PullRequest
0 голосов
/ 26 октября 2010

У меня есть ViewController, который должен использовать 2 UITableViews.
1 всегда отображается, а другой будет отображаться в виде всплывающего окна после нажатия кнопки в представлении.

Обычно я устанавливаю делегата и datasource для владельца файла. Однако, так как 1 из UITableViews находится во всплывающем окне, я не уверен, как лучше всего решить эту проблему.

например, как мне решить эту часть -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;

Пожалуйста, совет.

1 Ответ

7 голосов
/ 26 октября 2010

У вас должны быть переменные экземпляра для обоих табличных представлений, объявленных в вашем контроллере:

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

В каждом источнике данных или методе делегата вы можете проверить, какое табличное представление передается вызывающей стороной:

- (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
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...