1

我正在使用 HTML,它在标签的属性中存储了一些额外的数据。为了显示文本,我使用DTCoreText将 HTML 转换为NSAttributedString. 当用户与一段文本交互时,我想返回并找到与该文本对应的数据。我最初的想法是修改HTML进行NSAttributedString转换并添加额外的信息作为属性,这可能不是一件容易的事。想请教有经验的人NSAttributedStringDTCoreText或者DTRichTextEditor,是否可行?是否可以将非标准属性存储NSAttributedString为附件?

4

1 回答 1

1

根据NSAttributedString 类参考

属性字符串按名称标识属性,使用 NSDictionary 对象在给定名称下存储值。您可以将任何您希望的属性名称/值对分配给一系列字符——由您的应用程序来解释自定义属性 (请参阅 Attributed String Programming Guide)。如果您在 Core Text 框架中使用属性字符串,您还可以使用该框架定义的属性键。在 iOS 中,标准属性键在 NSAttributedString UIKit Additions Reference 的“常量”部分中描述。在 OS X 中,标准属性键在 NSAttributedString Application Kit Additions Reference 的“常量”部分进行了描述。

您可以将任意属性存储在属性字符串中。因此,您应该能够通过手动向原始 HTML 和它生成的属性字符串添加唯一标识符,在 HTML 和属性字符串文本之间进行一对一的匹配。

如果您的 HTML 中尚不存在此类唯一标识符,这可能意味着手动预处理您的 HTML 以将其分解为块,然后将其转换为单独的属性字符串以添加唯一标识符 - 这将更改该 HTML所以它不再是真正的原文!

于 2013-01-08T12:19:48.183 回答