cocoa - Mail.app 类似 NSTokenField 用于姓名和电子邮件

标签 cocoa macos email addressbook nstokenfield

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

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

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

最佳答案

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

广告。 2.你有一个名为 tokenField:completionsForSubstring:indexOfToken:indexOfSelectedItem: 的 NSTokenField 委托(delegate)方法它应该返回提供的子字符串的可能竞争数组。它的工作方式是,您将类设置为 NSTokenField 的委托(delegate)并重写该方法,并在其中搜索数据库中与提供的子字符串匹配的记录,并返回可能匹配的数组。剩下的就应该由 cocoa 来做。

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

希望有帮助!

关于cocoa - Mail.app 类似 NSTokenField 用于姓名和电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2088806/

相关文章:

cocoa - 为什么我的 NSWindow 只在第一次接收 mouseOver 事件?

macos - Mac 操作系统 : Leaks Sanitizer

macos - 什么是 “Trace/BPT trap: 5”?

java - Salesforce - 通过 API 创建案例后触发自动响应规则

php - 如何在 PHP 中验证电子邮件地址

java - 从 Java 使用 Gmail 发送邮件而无需打开安全性较低的应用程序

ios - 即使在完成后也将 NSOperation 保留在队列中

objective-c - 在特定条件下 unarchiveObjectWithFile 崩溃

cocoa - WebView 中链接的 NSRect 坐标

ios - fatal error : unexpected found nil while unwrapping an optional values