在NSAttributedString中嵌入信息

时间:2013-01-08 11:34:36

标签: ios nsattributedstring

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

1 个答案:

答案 0 :(得分:1)

根据NSAttributedString Class Reference

  

属性字符串使用名称按名称标识属性   NSDictionary对象以给定名称存储值。 你可以   将您希望的任何属性名称/值对分配给范围   字符 - 由您的应用程序来解释自定义属性   (参见属性字符串编程指南)。如果您使用归因   使用Core Text框架的字符串,您也可以使用该属性   该框架定义的键。在iOS中,标准属性键是   在NSAttributedString UIKit的“常量”部分中描述   增加参考。在OS X中,标准属性键在中描述   NSAttributedString Application Kit的“常量”部分   增加参考。

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

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