0

誰でもこの結果を複製できますか? rangeOfMisspelledWordInString以下に示すように、スペルミスのある単語を見つけるために( で)テストしiOSており、一部のランダムな文字が有効な単語を返します。

UITextChecker* pSpellChecker = [[[UITextChecker alloc] init] autorelease];
NSRange rangeWord = NSMakeRange(0, 8);
NSRange rangeCheck = [_pSpellChecker rangeOfMisspelledWordInString:@"lhpcjeuw"
                                                             range:rangeWord
                                                        startingAt:0
                                                              wrap:NO
                                                          language:@"en_US"];
if (rangeCheck.location == NSNotFound) {
   NSLog(@"Valid Word:");
}

以下は、rangeOfMisspelledWordInString に従って有効な単語の一部です: ところで、テストの前に、次の単語を小文字に変換したことを確認しました。

LD
THY
THE
THECA
TD
HL
HT
YD
YLEQXXH
DV
DVX
DVXX
DVXXD
DVXXDX
DVXXX
DVHXG
DVHEJWCP
DH
DH
DPJLEHHY

非常に奇妙な。私は何か間違ったことをしていますか?

4

2 に答える 2

1

はい、再現できます。これをバグと呼びます。@"lhpcjeuw" というテスト ワードを入力すると、有効な単語として扱われます。しかし、@"lahpcjeuw" (2 番目の位置に "a" を追加) を使用すると、キャッチされます。ティムと同じことに気付きました。この回答を書いているとき、スペル チェッカーは 2 番目に下線を引きましたが、最初の入力には下線を引きませんでした。

于 2012-12-18T20:43:10.533 に答える
1

「the」と「thy」は有効な言葉かもしれません ;)

それ以外では、テキスト システムはその単語の推測を提供できないため、完全に無視するというのが私の最善の推測です。単語。" これらの文字列をシステムのテキスト フィールド (メッセージなど) に入力しても、置換候補が表示されないことに気付きました。

UITextChecker インスタンスがこれらの特定の単語を無視するように設定されていないことを確認することもできます。ignoredWordsプロパティを見てください。

于 2012-12-18T20:33:56.300 に答える