Swift UITextChecker

时间:2014-12-16 22:20:00

标签: xcode string swift uitextview uitextchecker

我正在尝试在我的Swift项目中使用UITextChecker。下面的代码目前在最后一行有错误:

    var checker:UITextChecker = UITextChecker()
    var textLength = countElements(textView.text)
    var checkRange:NSRange = NSMakeRange(0, textLength)

    var misspelledRange:NSRange = checker.rangeOfMisspelledWordInString(textView.text, range: checkRange, startingAt: checkRange.location, wrap: false, language: "en_Us")

    var arrGuessed:NSArray = checker.guessesForWordRange(misspelledRange, inString: textView.text, language: "en_US")!

    var correctedStr = textView.text.stringByReplacingCharactersInRange(misspelledRange, withString: [arrGuessed.objectAtIndex(0)])

错误说:

'NSRange' is not convertible to 'Range<String.index>'

我不确定我哪里出错了。 感谢

1 个答案:

答案 0 :(得分:1)

您使用的stringByReplacingCharactersInRange方法需要传递Range<String.Index>,而不是NSRange。您无法使用misspelledRange,因为它的类型错误。可能的重复评论(NSRange to Range<String.Index>)中的链接包含从Range<String.Index>或将NSRange投射到text NSString的{​​{1}}的示例,其stringByReplacingCharactersInRange方法 使用NSRange