我希望我的应用知道QuickType建议是什么。最近QuickType已经获得了更多的上下文感知,你可以键入类似" auto r"并希望看到"修复"和"赛车"作为建议。
我找到了UITextChecker
,它可以建议单个单词的完成但不具有上下文感知能力。来自http://nshipster.com/uitextchecker/:
let textChecker = UITextChecker()
let partial = "auto r"
let completions = textChecker.completionsForPartialWordRange(
NSRange(0..<partial.utf16.count), inString: partial,
language: "en_US")
print(completions) # prints "[]"
我尝试从UILexicon
获取UIInputViewController
,但Apple的文档说明了#34; Apple打算让您将词典对象中的字词视为补充到您自己设计的自动修正/建议词典&#34; (link)。所以我猜这不是智能QuickType建议。它没有给我任何建议(在模拟器中测试):
let ivc = UIInputViewController()
ivc.textDocumentProxy.insertText("auto r")
ivc.requestSupplementaryLexiconWithCompletion { (lexicon:UILexicon) in
print("Called") // prints "Called"
print(lexicon.entries) // prints "[]", no suggestions
}
Apple是否打算向我们公开QuickType建议?