2012-09-27 42 views

回答

1

我假設你正在用Rest web服務加載數據。某處服務器上,你需要有一個SQL語句加載事件

SELECT * from events order by date ASC LIMIT page,20 

哪裏頁您加載網頁的數量。 你的iPhone應用程序將開始: 1- int page = 0;

2-創建一個NSMutableDictionary來存儲頁面檢索的所有事件。

3-使用post方法和頁面參數(page = 0)向REST資源發送請求。

4-我們一定會得到20(或更少)的事件。

5爲每個新事件數據,創建一個NSMutableArray並將其存儲在我們的字典可變用鑰匙事件日期。

6-每當向字典中添加新事件時,檢查字典是否具有此事件日期的鍵,如果是,則使用該鍵將該事件添加到可變數組中,否則創建新的可變數組並向其添加事件然後將其添加到帶有活動日期的字典中。

7-顯示與標題的標題密鑰,部分的數目的表視圖:

[[eventDictionary allKeys] count]; 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
     //fetch the event for this cell; 
     NSString *sectionKey = [[eventDictionary allKeys] objectAtIndex:indexPath.section]; 
     NSMutableArray *thisSectionEvents = [eventDictionary objectForKey: sectionKey]; 
     Event *event = [thisSectionEvents objectAtIndex.row]; 


     //Create your customcell here and pass data to it. 
} 

8-負載下頁:

8-α-頁++

8-B發送新頁值要求

8-C添加新的事件已經包含了20個事件易變的字典;

上表視圖

8-d重裝數據

0

您使用的是核心數據嗎?如果是這樣,那麼你可以保存所有記錄,然後使用NSFetchRequest以20個記錄增量提取數據。您還需要攜帶一個變量來跟蹤從數據庫中加載了多少記錄。

+0

甚至可以保存所有數據,核心數據其也採取了大量的時間,然後還我的應用程序變得緩慢,同時節省對核心數據的所有數據。 ..但謝謝你的建議。 – Krish

相關問題