[英]How should i interact with a base of words in iPhone app?
我正在为iPhone做文字游戏。 用户可以从单独的字母构造单词。 我需要检查的是这是用户创建的真实单词,还是诸如“ sfugh”之类的毫无意义的东西。 我应该如何更好地实现这一点? 我应该在程序中使用友好的字典吗(我认为这是一个坏主意,因为使用大量单词会导致非常慢的工作),或者可能存在某种在线词典,可以在我的代码中检查单词,还是应该试一试? 也许其他解决方案在哪里?
使用预先填充的sqlite数据库。 这样,您可以使用字符串索引来加快数据库中的搜索速度。
您可以使用Apple的本机UITextChecker来确定单词是否拼写错误/有效。 这是GitHub上的示例项目 。 这样,您就不必担心组装充满单词的数据库。
为了易于消化,下面是完成所有工作的代码
- (IBAction)textFieldTextDidChange:(id)sender {
NSRange rangeOfMisspelling = [self.textChecker rangeOfMisspelledWordInString:self.textField.text
range:NSMakeRange(0, self.textField.text.length)
startingAt:0
wrap:NO
language:@"en_US"];
// no misspellings
if (rangeOfMisspelling.location == NSNotFound) {
self.textLabel.text = @"Valid word!";
}
// misspellings
else {
self.textLabel.text = @"Not a word.";
}
}
需要注意的一件事是UITextChecker似乎将单个字母视为有效单词。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.