我正在用标准的方法来检查一个词的有效性。我有一个4部分数组,它被连接起来使单词被验证。我把这个放在我的touches began func中的SpriteKit场景中,但是它总是给我“正确拼写”的答案,即使它不是。
奇怪的是,当我把完全相同的代码放入我的did move to view func,所以它运行时,游戏开始,它的工作非常好。代码完全相同,除了连接数组之外,我只是在代码之前创建了一个let word = "WORD"。所以我猜这个问题一定是和我加入的数组有关吧??
这是我的密码
let word = wordArray.joined()
let textChecker = UITextChecker()
let misspelledRange = textChecker.rangeOfMisspelledWord(
in: word, range: NSRange(0..<word.utf16.count), startingAt: 0, wrap: false, language: "en_US")
if misspelledRange.location != NSNotFound,
let guesses = textChecker.guesses(
forWordRange: misspelledRange, in: word, language: "en_US")
{
print("Guess: \(String(describing: guesses.first))") //Output is: Guess: Optional("Tester")
} else {
print("\(word) CORRECT SPELLING")
}发布于 2022-03-06 23:20:29
原来我的问题是UITextChecker不喜欢全大写!只接受小写拼写
https://stackoverflow.com/questions/71374066
复制相似问题