iPhone: одинаковые строки повторяются в каждом разделе сгруппированного UITableview - PullRequest
0 голосов
/ 23 марта 2010

У меня есть приложение, которое представляет собой список задач, например список дел. Пользователь настраивает задачи, и это идет в базу данных SQLite. Список отображается в виде таблицы.

Таблица SQL состоит из целевого идентификатора задачи, имени группы varchar, имени задачи varchar, последней завершенной даты и времени, следующей даты и времени, целого целого.

В настоящее время он работает, создавая массив из каждого столбца в таблице SQL. В методе tableView:cellForRowAtIndexPath: я создаю элементы управления для каждой задачи, привязывая их значения к массиву для каждого столбца.

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

Как получить правильные строки, отображаемые только в правильном разделе?

Я действительно новичок в период разработки и увлекся попыткой научить себя, как разрабатывать приложения для iphone. Поэтому, пожалуйста, будьте немного более подробны, чем с профессиональным разработчиком. :)

1 Ответ

1 голос
/ 24 марта 2010

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

NSIndexPath, переданный tableView:cellForRowAtIndexPath:, имеет свойство section и row. Чтобы вернуть правильные строки для каждого раздела, необходимо проверить атрибут indexPath.section, чтобы увидеть, к какому логическому разделу принадлежит логический ряд, прежде чем заполнять ячейку.

Edit:

Вам нужно что-то вроде этого:

switch (indexPath.section) {
    case 0:
        // return row at indexPath.row for this section
        break;
    case 1:
        // return row at indexPath.row for this section
        break;

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