2010-06-15 5 views
0

Краткая версия: есть ли способ заполнить одну определенную строку в таблицеView одним значением из одного массива, а затем заполнить другую строку в том же таблицеView с одним значением из другого массива? Например, ячейка 1 будет иметь первое значение из массива A, ячейка 2 будет иметь первое значение из массива B, ячейка 3 будет иметь первое значение из массива C и т. Д.Заполнение таблицыView с несколькими массивами

Длинная версия: Я надеюсь, что это не слишком запутан. У меня есть массив имен, а затем еще три массива с действиями, связанными с этими людьми. Например, в массиве имен есть Джим, Боб и Сью, а затем есть массив для приема пищи, чтения и сна, который записывается каждый раз, когда каждый человек делает одну из этих вещей (все эти массивы заполняются из базы данных MySQL). Массив имен используется для заполнения корневого таблицы. Нажатие на одно из имен вызывает контроллер подробного представления, который имеет другой tableView, который имеет только три строки. Эта часть работает нормально.

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

Например, если я постучал по Бобу, вторая страница будет показывать последний раз, когда Боб ел, читал и спал. Нажатие на первый ряд принесет таблицу, которая показывала каждый раз, когда Боб съел.

До сих пор мне удалось заполнить второй tableView всеми строками из одного из массивов. Мне нужно это наоборот (одна строка из всех массивов).

+0

Конечно, вы можете делать все, что захотите. Покажите нам реализацию 'tableView: cellForRowAtIndexPath:', если вы хотите получить конкретный ответ. –

ответ

1

Абсолютно. Шаги должны включать в себя ввод правильного кода в двух методов для второго Tableview:

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

и

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

Ваш метод numberOfRowsInSection бы просто вернуться 3, так как там будет только три строки, и ваш cellForRowAtIndexPath проверит его параметр indexPath, чтобы увидеть, равно ли оно 0, 1 или 2 (все возможные значения). Если он равен нулю, заполните ячейку соответствующими данными из массива. Если он один, заполните его из массива чтения. И если два, заполните его из спящего массива. Или любой другой порядок подходит.

Смежные вопросы