2012-02-01 55 views
0

我已經添加了一個tableview 10條記錄。最後一行是load more records單元格。在appStore當你搜索一個應用程序,如果有更多的應用程序要顯示,那麼最後一行說load more records(或類似的東西)。現在向tableview添加更多記錄

,如果我有10記錄,如果11號小區負載說更多的記錄,怎樣編程它來顯示5更多的記錄,當最後一行用戶點擊。

我有我的10記錄存儲到一個數組,所以有可能追加5更多的記錄到數組,而不改變它的順序?

還是我必須對整個陣列15條加載,然後在tableview顯示呢? (我不認爲這是最好的辦法)

希望我做出清楚我的問題。

對不起,我沒有代碼,以顯示我的工作方式,我堅持試圖弄清楚這一點。

回答

3

請允許我簡單說明表格如何在iOS中工作。每個表格都有兩個主要組件:要顯示的數據和表格的視圖(顯示)。數據是表格信息的來源。任何類型的數據源都可以用作表格的數據源(像NSString,數組,可變數組,字典等靜態信息)。數據源的確切類型取決於應用程序本身。

這些數據必須被觀看到用戶,這是UITableView的作用。負責將數據加載到視圖的代碼始終在函數tableView:cellForRowAtIndexPath:內。在此功能中做裝載,你也可以指定樣細胞,表風格的類型做了一些視圖屬性...

現在裝載正好在取數據源的相同的順序(除非你指定的其他方式)。因此,如果您的數據位於數組中,則數組的第一個元素將位於表格的第一個單元格中,依此類推。

現在回答你的問題的第一部分,應您的數據源是什麼類型的?由於您要定期將數據添加到數據中,因此您肯定需要可變的類型。這可能是NSMutableArrayNSMutableDictionary。當你的信息來源只有一個項目時使用數組,例如你只是添加球員的名字,並且當你的信息每個單元格有多個項目時使用字典,比如球員姓名,球員年齡,球員得分(並且說你是願意在單元格中顯示所有這些信息;還要記住,您可以自定義單元格視圖並執行自定義單元格)。那麼,爲什麼可變類型?因爲他們允許向他們添加刪除項目。如何添加和他們坐在哪裏?通常可變類型有addObject用於添加,新項目總是添加到數組的末尾。

我希望這個解釋能幫助你理解事情是如何工作的,所以你可以想象你需要做什麼解決方案來解決你的問題。

對於表的通知數據源的變化,你總是需要調用:

[myTableView reloadData]; 

刷新數據將迫使功能tableView:cellForRowAtIndexPath:再次調用並重新加載所有的數據源中的數據,並且確實按照它們在該數據源中的順序。

0

只需添加新的記錄到數組這樣

和記錄將在數組末尾添加。 使用

[tableview reloadData]; 

告訴你的表認爲,新數據可用來顯示。

+0

那麼這裏的數組是一個NSMutableArray?你確定表中記錄的順序不會改變嗎? – shajem 2012-02-01 16:07:51

+0

數組必須是NSMutableArray,因爲您無法將對象添加到NSArray。我很確定這些記錄不會改變訂單,但也許,當您正在處理這些記錄時,您可以快速嘗試。 – singingAtom 2012-02-01 16:13:35