我想建立一个NSTokenField,其工作原理类似于Mail.app中的收件人字段。我知道如何在通讯录中搜索姓名和电子邮件。这些可能是真的很糟糕的菜鸟问题,对此感到抱歉。


如何重新格式化搜索结果数组以获取格式为“名称”的项目(例如Mail.app中的自动完成结果)
NSTokenField Completion方法如何工作?我找不到适合我的代码示例。您能解释一下还是给我一些代码?

最佳答案

自从我使用NSTokenField以来已经有一段时间了,但是在这里:

广告。 2.您有一个称为tokenField:completionsForSubstring:indexOfToken:indexOfSelectedItem:的NSTokenField委托方法,该方法应返回所提供子字符串可能存在的竞争数组。它的工作方式是将您的类设置为NSTokenField的委托并覆盖该方法,然后在数据库中搜索与提供的子字符串匹配的记录,并返回可能的匹配数组。可可应该做剩下的。

广告。 1.再次,NSTokenField委托可以使用名为tokenField:displayStringForRepresentedObject:的方法,该方法允许您以所需的任何格式显示某个对象(例如电子邮件地址)(因此,该对象将只是电子邮件,并且您可能会以“通过在数据库中查找该特定电子邮件的名称,从该方法中命名“”。

希望有帮助!

07-28 07:42