2016-12-30 8 views
0

Hai я новичок в разработке приложений iOS. В моем проекте я получаю 4000 данных ответа от веб-службы, и мне нужно отображать их на табличном просмотре. Но здесь условие Сначала я должен отображать только 30 записей, и как только пользователь прокрутит вниз, мне нужно загрузить больше записей.Прокрутка, разбиение на страницы или загрузка большего количества методов для UITableView в Objective c

+0

В вашем 'willDisplayCell' вы можете проверить, является ли текущий' indexPath.row' 'dataSourceArray.count - 10'. Если это так, то выберите следующее количество страниц и добавьте ответ на 'dataSourceArray' – Rikh

+0

http://nsscreencast.com/episodes/8-automatic-uitableview-paging Это спасло мое время – Maruthi

ответ

0

Если вы ищете стороннюю библиотеку для реализации Load More, вы могли бы попробовать это

https://github.com/samvermette/SVPullToRefresh

вручную можно также использовать UIScrollViewDelegate метод scrollViewDidEndDecelerating следить за последнюю видимую клетку, после чего может добавить больше данных в ваш dataSource.

1

Вы можете управлять со следующими двумя способами:
1) Вручную
Вот что вам нужно сделать, это, Вам нужно взять два NSMutableArray, скажем responseArray и tblArray. Из этого ответаArray содержит ответ вашего веб-сервиса, и tblArray будет управлять счетом UITableView.
Таким образом вы можете сначала отобразить набор данных, например. 10, поэтому int count = 10, добавив первые 10 записей из ответаArray на tblArray. Когда пользователь прокручивать вниз, вы можете получить данные из 11-20 responseArray и добавить их в tblArray используя

for(int i = 10; i < 20; i++) 
{ 
    [tblArray addObject:[responseArray objectAtIndex:i]] 
} 
[<your TableView Name> reloadData]; 
count += 10; 

2) Генделя с сервера Side
С помощью этой опции вы можете легко обрабатывать весь материал.
Для этого вам нужно только передать текущее значение счетчика/пейджинга на сервер, и сервер ответит вам соответствующим образом.
Например: изначально у вас нет записи прямо сейчас. Таким образом, вы можете пройти 0 в параметре веб-службы.
Как только вы получите ответ, вы получите 10 записей в ответе. Отобразите их в своем UITableView.
Теперь, когда пользователь прокрутки вниз можно управлять рассчитывать массив здесь в
-(void)scrollViewDidScroll:(UIScrollView *)scrollView
В описанном выше способе вы можете увеличить значение счетчика на 1 или вы можете установить его равным ваш кол-массив. На данный момент count += 1 или count += <yourArrayName>.count.
После этого вы снова передаете значение в качестве параметра своего веб-сервиса, и вы получите следующую 10 записей в своем ответе. Что вам нужно добавить к вашему массиву [<yourArrayName> arrayByAddingObjectsFromArray:<your resposeArray>];.
Используя любой способ, вы можете решить свою проблему. Но я лично рекомендую, чтобы пойти с 2-й вариант.

+0

нужна помощь относительно того же –