3 таблицы на ipad с разными данными - PullRequest
0 голосов
/ 16 декабря 2010

Я пытаюсь реализовать 3 разных табличных представления, которые загружают 3 разных массива информации. На каком-то форуме я читал, что могу использовать .tag для дифференциации таблиц и использовать условные выражения для загрузки данных, я пытался изменить имятаблицу с идентификатором / именем xib для моей таблицы,

и используйте

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath: (NSIndexPath *)indexPath {

    static NSString *CellIdentifier = @"Cell";

    //---try to get a reusable cell---
    UITableViewCell *cell = [tableView  dequeueReusableCellWithIdentifier:CellIdentifier];

    //---create new cell if no reusable cell is available---
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
    }

 /*
  //---set the text to display for the cell---
  NSString *cellValue = [listOfMovies objectAtIndex:indexPath.row];
  cell.textLabel.text = cellValue; */

 if (tableView.tag == 1) {
  //Deal with table 1 - contains 5 sections
  cell.textLabel.text = [array objectAtIndex:indexPath.row]; 
 } else if (tableView.tag == 2) {
  //Deal with table 2 - contains 1 section
 cell.textLabel.text = [array2 objectAtIndex:indexPath.row];  
 }
 // cell.textLabel.text = [array3 objectAtIndex:indexPath.row]; 
 else {
  cell.textLabel.text = [array objectAtIndex:indexPath.row]; 
 }

 return cell;
} 

, чтобы изменить содержимое ячейки, чтобы показать другой массив, но не работает (длинный выстрел!), поэтому,Как определить этот .tag для моих таблиц, я хочу то же самое для row (count) и section 1 для всех таблиц, так что я просто оставлю их так ??У меня есть 3 таблицы, показывающие один и тот же массив в данный момент,

большое спасибо!

Ответы [ 2 ]

0 голосов
/ 16 декабря 2010

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

@interface TableViewController : UITableViewController <UIGestureRecognizerDelegate> {

    IBOutlet UITableView *leftTable;
    IBOutlet UITableView *centerTable;
    IBOutlet UITableView *rightTable;

    ...

Затем в каждом из методов делегата я проверяю, в какой таблице он находится, перед выполнением соответствующего действия или возвращением соответствующего результата.Например:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

    if (tableView == leftTable) { 
        return [self.leftItems count]; 
    } else if (tableView == centerTable) {
        return [self.centerItems count];
    } else {
        return [self.rightItems count];
    }

}
0 голосов
/ 16 декабря 2010

Хм, еще не пробовал, но я склонен рассмотреть возможность сопоставления каждого табличного представления с его собственным уникальным экземпляром UITableViewDataSource.Таким образом, их не нужно кодировать в одном классе, и все становится проще.Не уверен, как ты собираешься собирать это, но я думаю, что это должно быть слишком сложно для разработки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...