首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有其他编写方式的NSComboBox

具有其他编写方式的NSComboBox
EN

Stack Overflow用户
提问于 2017-05-28 22:50:39
回答 1查看 151关注 0票数 2

我正在尝试在一个小应用程序中实现自动补全功能。我想让用户能够将一个城市(从一个长长的城市列表)写到一个NSComboBox中。只要用户在我的城市名称数组中使用准确的城市书写,就可以很好地工作。但如果他们使用不同的拼写,不管是什么原因,它都会失败,城市也找不到了。

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

为此,我为每个城市提供了一个额外的可选拼写数组。

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

我不想在NSComboBox的弹出部分列表中为每个替代名称创建一个条目,因为这会使列表变得更长,并会让人感到困惑(仅科隆就有85种不同的拼写)。

谢谢你的建议,我对NSComboBox完全陌生。

EN

回答 1

Stack Overflow用户

发布于 2017-05-28 23:19:13

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

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

城市的平面数组怎么样(允许基于用户拼写的简单搜索,而不必检查每个可能的备选数组并对它们进行适当的排序),但每个城市都有一个可选的(可以是空的)指向“正确”的“首选拼写”指针。在显示组合框中的选项时,是否显示按没有可选首选拼写的数组筛选的数组,以及当前键入的替代拼写的部分/完整拼写?

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

这有意义吗?还是我需要换个说法?今天早上咖啡喝得不够多。:-)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44228596

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档