2010-11-12 2 views
0

У нас есть база данных из многих строк в sqlite3. Мы используем MBDB Wrapper для SQLite3 для отображения данных в UITableView. Мы предпочитаем, чтобы мы не использовали Pagination, так как этот поступок кажется очень нормальным для приложения iPhone/iPad. Мы надеялись, что, если мы ДОЛЖНЫ это сделать, мы можем сделать это в виде 400 записей.FMDB и UITableView

Каков наилучший способ для этого? Есть ли способ позвонить в базу данных по адресу

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

?

Даже если мы сделаем таблицу «Больше записей ...», что произойдет, когда они достигнут огромного числа? Должны ли мы сделать двунаправленную разбивку на страницы?

Каков наилучший способ справиться с этим?

Спасибо.

ответ

8

Вот что я делаю, с аналогичной установкой, которая имеет тысячи строк для UITableView.

У меня есть массив (фактически вектор stl C++), где каждый элемент массива сопоставляется строке в UITableView. Массив, заполненный идентификаторами записи sqlite для элементов, которые я хочу отобразить. Память, полученная массивом, составляет 4 байта на строку.

cellForRowAtIndexPath ищет идентификатор записи в массиве, затем запрашивает из sqlite поля, которые мне нужны для ячейки. Это очень быстро, так как SQLite индексирует столбец идентификатора записи.

Mine на самом деле немного сложнее, так как у меня есть разделы TableView, а также индекс TableView. Но не слишком сложнее.

+1

Я использую подобный подход, но выбираю в блоках по 10 или 20 с помощью [db executeQuery: @ "выберите x из элементов, где id в (?,?,?,?,?,?,?,?,?,?,?) "withArgumentsInArray: ids]. С заявлением кэширование включилось, это достаточно быстро, чтобы плавно прокрутить табличный вид таблицы в 10 000 строк на первом iPod iPod touch. –

+0

Где я могу найти пример исходного кода для такого проекта? Благодарю. – zardon

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