2011-11-28 82 views
0

我正在創建一個Iphone應用程序。它將包含超過10萬條記錄,並且該數字可能會隨着時間的增長而增長至甚至500k條記錄。每個記錄都不會很大。它將包含幾個文本在其中的字段。在某個時候,應用程序需要在一個可用視圖中顯示一個大的子集。在視圖中甚至可能是1k條記錄。我知道人們不想滾動瀏覽1k條記錄,所以我不確定我將如何設計它,所以它會有意義。可能會執行某種搜索,它將重新加載視圖中每個人按下的字母。
我的問題是哪個更適合我的用途。核心數據或sqlite。這將使我能夠在不加載1k數據集的情況下滾動數據到內存中,並且用戶能夠快速滾動記錄。爲IOS中的大量記錄選擇核心數據或sqlite

謝謝您提前!

+0

對於如此大量的記錄提供滾動功能是不可取的,因爲在任何時候都必須從數據庫中獲取它們,這可能是需要的,或者它們都是在同一時間。相反,你應該使用過濾方法,通過用戶輸入。只需根據用戶輸入事件開始獲取/過濾記錄。理想情況下甚至在過濾時,您最多應該加載25-50條記錄。通過輸入更多字符作爲搜索字符串,讓用戶對記錄更加具體化。 – samfisher

回答

0

使用CoreData和NSFetchedResultsController。它處理大型資源的效率。

+0

感謝您的回覆。這就是我所傾向的。我會給它一個去看看它是如何工作的。 @samfisher你是對的,人們不會滾動瀏覽大量記錄。我在想,人們願意在他們的iPod上瀏覽成千上萬首歌曲,這樣人們可能有興趣在一些隨機停止的數百條記錄中滾動。當我真正看到它時,我會去看看它是否有意義。 – Yan

+0

同意Oystein。使用核心數據和NSFetchedResultsController。查看核心數據上的WWDC2010視頻,關於如何標準化核心數據模型以使搜索速度非常快,有一些很棒的提示。 – timthetoolman