0

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

4

2 回答 2

1

核心数据!,是你最好的选择,或者管理你自己的 SQLite

检查 核心数据教程

iOS 上的 SQLite 教程

于 2012-04-20T02:53:48.320 回答
0

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

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

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

于 2012-04-20T04:57:59.240 回答