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