Приписанные строки

Приписанные строковые объекты управляют символьными строками и связанными наборами атрибутов (например, шрифт и использующий кернинг), которые применяются к отдельным символам или диапазонам символов в строке. Классы NSAttributedString и NSMutableAttributedString объявите программируемый интерфейс для приписанных строк только для чтения и модифицируемых приписанных строк, соответственно. В то время как дополнительные методы Objective C определяются в Наборе Приложения, Набор Основы определяет основную функциональность. Набор Приложения также использует подкласс NSMutableAttributedString, вызванный NSTextStorage, обеспечить хранение для расширенной текстовой системы обработки (см. текстовый Системный Обзор Уровня хранения).

NSAttributedString и NSMutableAttributedString бесплатный соединенный мостом к их Базовым дубликатам Основы, CFAttributedString и CFMutableAttributedString соответственно. Это означает, что приписанная строка Основы является взаимозаменяемой в вызовах функции или вызовах метода с соответствующим соединенным мостом Базовым типом Основы. Поэтому в методе, где Вы видите NSMutableAttributedString * параметр, можно передать в переменной типа CFMutableAttributedStringRef, и в функции, где Вы видите a CFAttributedStringRef параметр, можно передать в экземпляре NSAttributedString (или NSMutableAttributedString).

NSAttributedString не подкласс NSString. Это содержит NSString возразите, к которому это применяет атрибуты. Это защищает пользователей приписанных строк от случаев неоднозначности, вызванных семантическими различиями между простыми и приписанными строками. Например, равенство не может быть просто определено между NSString и приписанная строка. Приписанные строковые классы принимают NSCopying и NSMutableCopying протоколы, делая удобным преобразовать приписанную строку от одного типа до другого.

NSAttributedString и NSMutableAttributedString добавьте много опций к основному хранению содержания NSString:

Приписанная строка идентифицирует атрибуты по имени, храня их значения как непрозрачные ids в NSDictionary объект. Например, шрифт текста сохранен как NSFont объект под именем данный NSFontAttributeName. Можно связать любое объектное значение, любым именем, с данным диапазоном символов в приписанной строке.

Непостоянная приписанная строка отслеживает атрибут, отображающийся, поскольку символы добавлены к и удалены из него и поскольку изменяются атрибуты. Это позволяет Вам пакетам группы редактирований с beginEditing и endEditing методы, и консолидировать изменения в атрибуте к символу, отображающемся с fix... методы.