gpt4 book ai didi

swift - 具有替代书写方式的 NSComboBox

转载 作者:可可西里 更新时间:2023-11-01 02:04:37 27 4
gpt4 key购买 nike

我正在尝试将自动完成功能实现到一个小应用程序中。我想让用户可以将一个城市(从一长串城市列表中)写到 NSComboBox 中。这很好,只要用户在我的城市名称数组中使用城市的准确书写。但是,如果他们出于某种原因使用不同的拼写,则会失败并且找不到城市。

因此,例如,如果用户正在寻找“Köln”,这不是问题,但如果他正在寻找“Cologne”,他将找不到它。

为此,我为每个城市准备了一组额外的替代拼写。

现在我希望 NSComboBox(或任何其他类型的 TextField)不仅在“city.name”中查看,而且在数组“city.alternativeNames”中查看。显示的值也应该代表用户正在写的内容。

我不想在 NSComboBox 的弹出部分列表中为每个替代名称创建一个条目,因为这会使列表比实际更长,并且会使人感到困惑(仅古龙水就有 85 种不同的拼写).

感谢您的建议,我是 NSComboBox 的新手。

最佳答案

有趣的问题。我认为您可能需要选择一种不同的方式来构建数据以使其更容易。

考虑查找方法(匹配一个字符串)。为这种情况构建您的数据应该考虑到每个城市的首选拼写(您首选,用于滚动列表)。

城市平面阵列如何(允许基于用户拼写的简单搜索,而不必检查每个可能的替代阵列并管理对它们进行正确排序)但每个城市都有一个可选的(可以为零)“首选拼写”指向“正确”的指针。在组合框中显示选项时,显示由没有可选首选拼写的那些过滤的数组加上当前键入的替代拼写的部分/完整完成?

所以 City 有一个 name 属性和一个可选的 preferred 属性。在您的情况下,如果首选科隆,则科隆实例会将科隆设置为首选。只有当用户输入(甚至部分输入)时,科隆才会出现在列表中,并且它会自动处于正确的 alpha 排序位置(假设您的城市保持排序)。

这是否有意义,或者我需要重新措辞吗?今天早上没有喝足够的咖啡。 :-)

关于swift - 具有替代书写方式的 NSComboBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44228596/

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