Cocoa中的数据检测器

时间:2010-01-09 20:44:59

标签: cocoa email nstextfield nstextview

我想在NSTextField / NSTextView中添加数据检测器,例如在Mail中(例如日期,电子邮件,URL等)。

有谁知道如何做到这一点?我想我在TextEdit的源代码中看到了它,但当我检查它是2005的版本时,我找不到新的源代码。

亚历

2 个答案:

答案 0 :(得分:3)

在Snow Leopard中,您现在只需单击IB检查器中的相应复选框,即可在NSTextView中启用数据检测器。

答案 1 :(得分:2)

您需要设置对象的格式化程序出口。内置格式化程序为NSDateFormatterNSNumberFormatter

alt text

您可以通过扩展NSFormatter类来定义自定义格式化程序。创建NSFormatters的Aaron Hillegass优秀'Cocoa Programming for Max OS X'中有一章。

要检测某些文字正文中的日期,网址,电子邮件地址等,您可以使用Latent Semantic Mapping Framework。它是Leopard的公共API,但没有大量的文档。还有一个名为lsm的命令行工具,允许您测试要使用的任何自定义提取器。它是一个C API,据我所知没有集成到Cocoa中,所以你需要自己连接它