我从tokenField:completionsForSubstring:indexOfToken:indexOfSelectedItem返回的内容破坏了我键入的项目。这解释了为什么:
阅读此NSTokenField does not let me type other strings than tokenField:completionsForSubstring:… returns可以回答我的大部分问题。

吉姆·科雷亚(Jim Correia)在回答时说:“因此,如果子串未出现在列表中,则您需要将其设置为-1(否则它将用您第一次填写的文本替换用户键入的文本)……”我的情况是规范返回-1,但我不知道这样做的方法吗?也许我只是在某个地方想念它?

谢谢!

最佳答案

重新阅读文档后,我终于完成了工作。将此添加到tokenField:completionsForSubstring:indexOfToken:indexOfSelectedItem:

*selectedIndex = -1;


我错过了“按引用返回”位。

07-28 06:26