Как реализовать «Загрузить больше записей» в TableView в iPhone SDK? - PullRequest
6 голосов
/ 11 февраля 2011

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

Как мы можем использовать функцию «Загрузить больше записей», которая будет получать 20 записей одновременно?Если пользователь хочет просмотреть больше записей, он может нажать кнопку «Загрузить больше записей», и он покажет следующие 20 записей.

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

Ответы [ 3 ]

5 голосов
/ 16 февраля 2011

Спасибо всем за ваш вклад. Но я смог реализовать это, используя ссылку ниже:

http://useyourloaf.com/blog/2010/10/2/dynamically-loading-new-rows-into-a-table.html

Надеюсь, это полезно для всех.

5 голосов
/ 11 февраля 2011

UITableView повторно использует свои ячейки.Это означает, что вы можете динамически получать доступ к своей базе данных, когда вызывается cellForRowAtIndexPath: - вам не нужно загружать все 10000 элементов одновременно, как и вы.Надеюсь, это поможет, и я не пойму ваш вопрос неправильно.

Это довольно простой UITableView, но он должен помочь вам начать.Извините, я мало что знаю о Core Data или SQLite.

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

    UITableViewCell *cell = [_tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad){
            cell = [[[NSBundle mainBundle] loadNibNamed:@"CustomCell-iPad" owner:self options:nil] lastObject];
        }
        else{
            cell = [[[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil] lastObject];
        }
    }


// Do stuff, load database values, etc

    return cell;
}
0 голосов
/ 11 февраля 2011

@ meetpd это не ответ, а просто предложение.

Вы можете использовать core data вместо sqlite. это удовлетворит ваше требование получения 20 записей. Это уменьшит вашу кодовую базу до 40% (как сказал Бард Ларсон в статье «Разработка приложений для Iphone»). Это простой в использовании и быстрее, чем sqlite. Вы можете проверить пример кода следующим образом: enter image description here

надеюсь, что это поможет вам много кода.

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