rangeOfMisspelledWordInString查找随机字母作为有效字

时间:2012-12-18 20:01:21

标签: ios

有人可以复制这个结果吗?我正在测试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

很奇怪。我做错了吗?

2 个答案:

答案 0 :(得分:1)

我认为“the”和“thy”可能只是有效的词;)

除此之外,我最好的猜测是文本系统不能提供对该词的猜测,因此完全忽略它 - “拼写错误的单词”的语义含义可能不包括“不能想象的字母串”一个单词拼写错误。“我注意到当我在系统文本字段中输入这些字符串时(例如在消息中),我没有得到任何替换建议。

您还可以确保您的UITextChecker实例未设置为忽略这些特定字词;看看ignoredWords property

答案 1 :(得分:1)

是的,我可以重现它,我会称之为bug。如果我输入你的测试词,@“lhpcjeuw”,它会将它视为一个有效的单词。但是,如果我使用@“lahpcjeuw”(在第二个位置添加了“a”),它会抓住它。我注意到Tim做了同样的事情 - 在写这个答案时,拼写检查员强调了第二个,但不是我输入的第一个。