0

是否有快速简单的方法在 iOS 6 上突出显示文本?我需要在 iOS 6 上创建一个 Objective-C 编辑器,我认为 NSAttributedString 就足够了。我认为我需要定义Objective-C语法,但是如何使用呢?有人可以帮我吗?

谢谢!

4

1 回答 1

3

您需要一个 Objective-C 词法分析器,它将您的原始代码转换为表示语言逻辑部分的标记树。

然后,您可以获取这些标记,为它们着色并从中重新构建文本数据。

显而易见的词法分析器解决方案是使用 GCC 的前端或 Clang,但它怀疑它们是否可用于 iOS,或者 Apple 是否允许您运行它们。

我将Pygments用于一个相关项目(虽然不是在 iOS 上),但我认为它的结果很差,而且我不知道是否可以在 iOS 上调用 Python 库(它在 OS X 上)。

由于 iOS 的限制,我想说在服务器上进行语法突出显示并将结果发送回 iOS 会更简单。

编辑

这是完整 (?) Objective-C 2.0 语法的链接。我认为您不想编写自己的解析器。

搜索语法时我偶然发现了ParseKit,这似乎是您正在寻找的。

于 2013-06-06T20:47:59.623 回答