2

我想构建一个 NSTokenField,就像 Mail.app 中的收件人字段一样工作。我知道如何在通讯录中搜索姓名和电子邮件。这些可能是非常糟糕的菜鸟问题,对此感到抱歉。

  1. 如何重新格式化我的搜索结果数组以获取格式为“名称 <email>”的项目(如 Mail.app 中的自动完成结果)

  2. NSTokenField 完成方法是如何工作的?我找不到适合我的代码示例。你能解释一下或给我一些代码吗?

4

1 回答 1

4

自从我使用 NSTokenField 已经有一段时间了,但它是这样的:

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

广告。1. 再次NSTokenField委托可以调用方法tokenField:displayStringForRepresentedObject:,它允许您以任何您想要的格式显示某个对象(如电子邮件地址)(因此该对象将只是电子邮件,您可以从该方法返回格式为“名称”的字符串在您的数据库中查找该特定电子邮件的名称)。

希望有帮助!

于 2010-01-18T23:12:33.950 回答