2012-09-12 52 views
3

我正在创建一个iOS文字游戏,并且需要导入英文字典中的每个单词。我必须检查一个字符串是否是数组或其中的一部分,或者它可能是什么。什么是导入和利用数据的最佳和最有效的内存方式?如何导入一个非常大的数组Objective-C

+2

我想如果你正在将字典中的每个单词加载到内存中,那么你做错了。你不能根据需要从数据库中查找单词吗? – woz

+1

如果单词必须存储在本地,您应该强烈考虑使用核心数据。 –

回答

3

我觉得我为他们工作,哈哈,但LexiconText有一个非常漂亮的产品的确,这是不是太硬,以确定该字在字典与否:

Lexicontext *dictionary = [Lexicontext sharedDictionary]; 
BOOL wordExists = [dictionary containsDefinitionFor:@"MyWord"]; 

注:我不以任何方式附属于词汇文本,除了是一个快乐的客户。

+0

这是什么内存占用? – Ravi

+0

@Ravi相当低。它在后台使用SQLite进行修改,因此只会根据需要加载。 –

+0

甜!感谢这篇文章。 – Ravi

0

您应该使用sqlite或其他数据库来存储字典。那么你不必把它全部加载到内存中,而是快速加载单词。

+1

我不确定SQLite是否是最好的解决方案。在这种情况下数据结构不是基于表格的,而是基于数组的。也许如果OP试图存储其他元数据以及单词定义,但SQLite看起来太复杂了。我建议使用CoreData来代替。 –

+0

是的,使用核心数据将是访问数据的首选方式。我的意思是说OP应该重新设计他如何加载他的数据,以免他从一个大文件中读取所有数据。 –

相关问题