2012-04-20 82 views
0

我正在做一个应用程序,将有一个非常大的单词我选择的词典(所以这些单词不是太复杂),我希望它随机选择单词。我没有随机选择单词的问题,但是如何存储所有这些单词的最佳方式是什么?我觉得使用一个NSMutable数组会占用太多的内存来创建数千个对象,所以我还能使用什么......谢谢你的帮助巨大的随机选择字典:iPhone Dev

回答

0

如果所有所有的应用程序需要做的是在随机访问的话(所以没有基于键查询或更新),核心数据和SQLite会替代只需将fseek()添加到换行符的平面文本文件中的随机位置然后读出下一个完整的单词,可能与fscanf(dict,"%s\n%s\n",partial_word,full_word)

通过使用不同的随机数重试来处理EOF,或者限制fseek()范围从不打中文件中的最后一个单词。

上述提纲的一个问题是单词不会被统一选择。对长单词有偏见。在保留单词之前丢弃strlen(partial_word)(或更大的随机数)的单词可能有助于分发,如果它是一个问题。