2015-02-08 41 views
0

我正在为iPhone制作文字游戏。用户可以从单独的字母构建单词。我需要检查的是这是一个真正的单词,是由哪个用户制作的,或者是某种没有意义的东西,比如“sfugh”。我应该如何更好地实施?我应该在程序中使用亲切的词典吗(我认为这是一个糟糕的主意,因为有大量词汇,它会工作得很慢),或者可能有一种在线词典,我可以从我的代码中检查单词,或者我应该做一个特里?或者,其他解决方案在哪里?我应该如何与iPhone应用程序中的单词基础进行交互?

回答

0

使用预先填充的sqlite数据库。这样,您可以使用字符串索引来更快地进行数据库中的搜索。

0

您可以使用Apple的原生UITextChecker来确定单词是否拼写错误/有效。 Here's a sample project on 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似乎算单个字母为有效的话。

相关问题