Заполните tableView несколькими массивами - PullRequest
0 голосов
/ 16 июня 2010

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

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

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

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

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

1 Ответ

1 голос
/ 16 июня 2010

Абсолютно. Шаги включали бы помещение правильного кода в два метода для вашего второго tableView:

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

и

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

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

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