簡體   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