【发布时间】:2010-01-09 20:44:58
【问题描述】:
我想在邮件中的 NSTextField / NSTextView 中添加数据检测器(例如日期、电子邮件、URL 等)。
有人知道怎么做吗?我想我在 TextEdit 的源代码中看到了它,但是当我检查它是 2005 的版本时,我找不到新的源代码。
亚历克斯
【问题讨论】:
标签: cocoa email nstextfield nstextview
我想在邮件中的 NSTextField / NSTextView 中添加数据检测器(例如日期、电子邮件、URL 等)。
有人知道怎么做吗?我想我在 TextEdit 的源代码中看到了它,但是当我检查它是 2005 的版本时,我找不到新的源代码。
亚历克斯
【问题讨论】:
标签: cocoa email nstextfield nstextview
在 Snow Leopard 中,您现在只需单击 IB 检查器中的相应复选框即可在 NSTextView 中启用数据检测器。
【讨论】:
您需要设置对象的格式化程序出口。内置格式化程序是 NSDateFormatter 和 NSNumberFormatter。
您可以通过扩展NSFormatter 类来定义自定义格式化程序。 Aaron Hillegass优秀的'Cocoa Programming for Max OS X'中有一章关于创建NSFormatters。
要检测某些文本正文中的日期、网址、电子邮件地址等,您可以使用Latent Semantic Mapping Framework。它是 Leopard 的公共 API,但没有大量文档。还有一个名为lsm 的命令行工具,可让您测试您想要使用的任何自定义提取器。它是一个 C API,据我所知没有集成到 Cocoa 中,所以你需要自己连接它
【讨论】: