繁体   English   中英

我应该如何与iPhone应用程序中的单词基础进行交互?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM