【问题标题】:Mail.app like NSTokenField for names and emailsMail.app 类似于 NSTokenField 用于名称和电子邮件
【发布时间】:2011-01-06 12:35:18
【问题描述】:
我想构建一个 NSTokenField,就像 Mail.app 中的收件人字段一样。我知道如何在通讯录中搜索姓名和电子邮件。这些可能是非常糟糕的菜鸟问题,抱歉。
如何重新格式化我的搜索结果数组以获取格式为“名称 ”的项目(如 Mail.app 中的自动完成结果)
NSTokenField 完成方法是如何工作的?我找不到适合我的代码示例。你能解释一下或者给我一些代码吗?
【问题讨论】:
标签:
cocoa
macos
email
addressbook
nstokenfield
【解决方案1】:
自从我使用 NSTokenField 以来已经有一段时间了,但它是这样的:
广告。 2. 你有一个名为tokenField:completionsForSubstring:indexOfToken:indexOfSelectedItem: 的NSTokenField 委托方法,它应该返回一个可能的子字符串竞争数组。它的工作方式是将您的类设置为 NSTokenField 的委托并覆盖该方法,并在其中搜索数据库以查找与提供的子字符串匹配的记录并返回可能匹配的数组。剩下的就交给可可了。
广告。 1. 再次NSTokenField 委托可以有一个名为tokenField:displayStringForRepresentedObject: 的方法,它允许您以您想要的任何格式显示某个对象(如电子邮件地址)(因此该对象将只是电子邮件,您可能会以某种格式返回字符串“通过在您的数据库中查找该特定电子邮件的名称,从该方法中命名“)。
希望有帮助!