我正在使用Offline Dictionary作为我的文字游戏应用程序,它是离线词典的好产品。今天我遇到了一个情况,我需要一个以字母“A”开头并且仅包含4个字母的随机单词。我已经尝试过以下代码来获取我所需的标准,但这并没有多大帮助,因为很多次我的标准都失败了,这导致应用程序因找到一个单词而受到攻击。
Lexicontext *dictionary = [Lexicontext sharedDictionary];
NSString *word = [dictionary randomWord];
此代码也失败
Lexicontext *dictionary = [Lexicontext sharedDictionary];
NSDictionary *words = [dictionary wordsWithPrefix:@"A"];
使用单词词典,我正在检查我的标准。这给了我准确的输出,但只有我在这里找到的问题是,让单词 dict在设备上花费很长时间(~13秒)。
问题:
有没有办法通过传递单词需要的起始字母和字符数来获得单词?
有人建议我为IOS提供更多离线词典。
答案 0 :(得分:0)
NSString * word = [字典randomWord];
从字典中返回一个没有任何限制的随机单词。
另一方面正在运行
NSDictionary * words = [字典wordsWithPrefix:@“A”];
会返回大约1800个形容词,400个副词,500个动词的结果......并且可能会太慢:)
这样的搜索不会返回名词的结果,并且会在日志中打印警告。因此,建议限制您的搜索以防止此类情况。如果必须,您可以提前进行多个双字母前缀搜索('aa','ab','ac',...)并缓存结果。