为IOS中的大量记录选择核心数据或sqlite

问题描述:

我正在创建一个Iphone应用程序。它将包含超过10万条记录,并且该数字可能会随着时间的增长而增长至甚至500k条记录。每个记录都不会很大。它将包含几个文本在其中的字段。在某个时候,应用程序需要在一个可用视图中显示一个大的子集。在视图中甚至可能是1k条记录。我知道人们不想滚动浏览1k条记录,所以我不确定我将如何设计它,所以它会有意义。可能会执行某种搜索,它将重新加载视图中每个人按下的字母。
我的问题是哪个更适合我的用途。核心数据或sqlite。这将使我能够在不加载1k数据集的情况下滚动数据到内存中,并且用户能够快速滚动记录。为IOS中的大量记录选择核心数据或sqlite

谢谢您提前!

+0

对于如此大量的记录提供滚动功能是不可取的,因为在任何时候都必须从数据库中获取它们,这可能是需要的,或者它们都是在同一时间。相反,你应该使用过滤方法,通过用户输入。只需根据用户输入事件开始获取/过滤记录。理想情况下甚至在过滤时,您最多应该加载25-50条记录。通过输入更多字符作为搜索字符串,让用户对记录更加具体化。 – samfisher

使用CoreData和NSFetchedResultsController。它处理大型资源的效率。

+0

感谢您的回复。这就是我所倾向的。我会给它一个去看看它是如何工作的。 @samfisher你是对的,人们不会滚动浏览大量记录。我在想,人们愿意在他们的iPod上浏览成千上万首歌曲,这样人们可能有兴趣在一些随机停止的数百条记录中滚动。当我真正看到它时,我会去看看它是否有意义。 – Yan

+0

同意Oystein。使用核心数据和NSFetchedResultsController。查看核心数据上的WWDC2010视频,关于如何标准化核心数据模型以使搜索速度非常快,有一些很棒的提示。 – timthetoolman