gpt4 book ai didi

ios - UITextChecker completionsForPartialWordRange

转载 作者:行者123 更新时间:2023-11-29 10:21:51 25 4
gpt4 key购买 nike

我正在构建自定义键盘扩展,并希望实现自动完成功能,就像 Apple 所做的那样。如我所见,方法 completionsForPartialWordRange 返回按字母顺序排序的单词列表。如何获得按使用情况排序的结果?

enter image description here

最佳答案

completionsForPartialWordRange:inString:language: 的文档说:

The strings in the array are in the order they should be presented to the user—that is, more probable completions come first in the array.

但是,结果按照字母顺序排列得非常清楚,并不是说“最可能完成的在数组中排在第一位”。以下是使用 iOS 9 测试的:

NSString *partialWord = @"th";
UITextChecker *textChecker = [[UITextChecker alloc] init];
NSArray *completions = [textChecker completionsForPartialWordRange:NSMakeRange(0, partialWord.length) inString:partialWord language:@"en"];

"th" 的 iOS 单词补全:

thalami,
thalamic,
thalamus,
thalassic,
thalidomide,
thallium,
...
the,
...

因此,在得到单词补全后,结果还需要重新排序。

该方法的 OS X NSSpellChecker 版本没有同样的问题:

NSString *partialWord = @"th";

NSArray *completions = [[NSSpellChecker sharedSpellChecker] completionsForPartialWordRange:NSMakeRange(0, partialWord.length) inString:partialWord language:@"en" inSpellDocumentWithTag:0];

List of complete words from the spell checker dictionary in the order they should be presented to the user.

"th" 的 Mac OS X 单词补全:

the,
this,
that,
they,
thanks,
there,
that's,
...

提交雷达错误报告是个好主意,这样该行为有望在更高版本的 iOS 中得到修复。如果您想复制,我已将其报告为 rdar://24226582。

关于ios - UITextChecker completionsForPartialWordRange,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34680277/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com