我正在尝试在 Swift 2.0 中为俄语单词实现自动完成功能,我遇到了以下问题。
我已经实现了以下代码来测试 UITextChecker()的工作原理:
[ru_RU, en_CA, pt_BR, it_IT, ko_KR, nb_NO, de_DE, en_GB, sv_SE, en_AU, en_SG, es_MX, pt_PT, en_IN, fr_FR, es_ES, nl_NL, tr_TR, fi_FI, pl_PL, en_US, da_DK]
此代码打印以下结果,此结果对我来说很有用:
语言清单:
Optional([leonine, leopard, leopardess,leopardesses, leopards, leotard, leotarded, leotards])
completionsForPartialWordRange:
Optional([Leo, lei, lek, lea, led, lee, leg, let, leu, lev, lex, lao, loo, geo, cleo, oleo, lego, leto, leon])
guessesForWordRange:
let textChecker = UITextChecker()
let partial = "кош"
let completions = textChecker.completionsForPartialWordRange(NSRange(0..<partial.utf16.count), inString: partial,language: "ru_RU")
let completions2 = textChecker.guessesForWordRange(NSRange(0..<partial.utf16.count), inString: partial, language: "ru_RU")
print(completions)
print(completions2)
之后我为 ru_RU
实现了相同的代码completionsForPartialWordRange
但ru_RU
始终为Optional([])
返回空数组:
"кош"
<{1}}的 实际结果至少应为"кошка"
,但空数组。
尽管有这样的猜测,但是对于ru_RU
来说,forWordRange正常工作:
Optional([каш, ко, кол, коб, код, кое, кож, коз, кои, кой, кок, ком, кон, коп, кор, кос, кот, коф, кою, куш, кэш, нош, шок, ковш, коуш, коша, коше, коши, кошм, кошт, кошу])
我尝试使用不同的俄语单词,但我始终从completionsForPartialWordRange
方法获取空数组。
我在代码中有错误或者是一些已知的Apple bug吗?如何使用ru_RU
方法获取completionsForPartialWordRange
的完成情况?
答案 0 :(得分:0)
如果它可以帮助某人,我会从他们的错误报告服务中提供Apple答案。
在我写信给Apple之后,我收到了以下答案:
工程已确定您的错误报告是 重复另一个问题,将被关闭。
您的问题是原始错误报告的打开或关闭状态 重复显示在黄色的“XXXXXXXX的副本”部分中 bug报告用户界面。此部分显示在顶部附近 错误编号,标题下的右列错误详细信息视图 国家,产品和等级。
不幸的是,没有其他信息。
已在IOS 10.1中修复