0

我正在为我的文字游戏应用程序使用离线词典,这是离线词典的好产品。今天我遇到了一个情况,我需要一个以字母“A”开头并且只包含 4 个字母的随机单词。我已经尝试使用下面的代码来获取我所需的标准,但这不会有太大帮助,因为我的标准很多时候都失败了,这导致应用程序被找到一个词所击中。

Lexicontext *dictionary = [Lexicontext sharedDictionary];
NSString *word = [dictionary randomWord]; 

此代码也同样失败

Lexicontext *dictionary = [Lexicontext sharedDictionary];
NSDictionary *words = [dictionary wordsWithPrefix:@"A"];

使用单词词典,我正在检查我的标准。这给了我准确的输出,但我在这里发现的唯一问题是,让单词dict 在设备上花费很长时间(~13 秒)。

问题:

  1. 有没有办法通过传递单词需要的起始字母和字符数来获取单词?

  2. 任何人都建议我为 IOS 提供更多的离线词典。

4

1 回答 1

0

NSString *word = [字典随机词];

从字典中返回一个随机单词,没有任何限制。

另一方面跑步

NSDictionary *words = [字典 wordsWithPrefix:@"A"];

将返回大约 1800 个形容词、400 个副词、500 个动词的结果......而且可能太慢了 :)

这样的搜索不会返回名词结果,并且会在日志中打印警告。因此,建议限制您的搜索以防止出现此类情况。如果必须,您可以提前多次搜索两个字母的前缀('aa'、'ab'、'ac'、...)并缓存结果。

于 2013-09-29T09:49:12.720 回答