Ссылка CFMutableAttributedString
Экземпляры CFMutableAttributedString управляют непостоянными символьными строками и связанными наборами атрибутов (например, шрифт и использующая кернинг информация), которые применяются к отдельным символам или диапазонам символов в строке. CFAttributedString, как определено в CoreFoundation обеспечивает основную контейнерную функциональность, в то время как более высокие уровни обеспечивают определения для стандартных атрибутов, их значений и дополнительных способов поведения, включающих их. CFMutableAttributedString представляет непостоянную строку — используют CFAttributedString, чтобы создать и управлять приписанной строкой, которая не может быть изменена после того, как это было создано.
CFMutableAttributedString не является «подклассом» CFMutableString; т.е. это не реагирует на CFMutableString (или CFString) вызовы функции. CFAttributedString концептуально содержит CFMutableString, к которому он применяет атрибуты. Это защищает Вас от случаев неоднозначности, вызванных семантическими различиями между простой и приписанной строкой. Функции, определяемые для CFAttributedString могут быть применены к объекту CFMutableAttributedString.
Атрибуты идентифицируются парами ключ/значение, сохраненными в объектах CFDictionary. В то время как соответствующие значения являются объектами CFType надлежащего типа, ключи должны быть объектами CFString. Посмотрите константы атрибута в дополнительной NSAttributedString AppKit Ссылке для стандартных названий атрибута на OS X и дополнительной NSAttributedString UIKit Ссылке на iOS.
При изменении содержания непостоянной приписанной строки ей, вероятно, придется выполнить большую работу, чтобы гарантировать, что это является внутренне непротиворечивым, и объединить выполнения идентичных атрибутов. Можно вызвать CFAttributedStringBeginEditing
и CFAttributedStringEndEditing
вокруг ряда связанных вызовов мутации, не требующих, чтобы строка была в непротиворечивом промежуточном состоянии, и таким образом сократила необходимый объем работы. Эти вызовы могут быть вложены.
CFMutableAttributedString “бесплатный соединенный мостом” с его дубликатом Основы, NSMutableAttributedString. Это означает, что Базовый тип Основы является взаимозаменяемым в вызовах функции или вызовах метода с соединенным мостом объектом Основы. Поэтому в методе, где Вы видите NSMutableAttributedString *
параметр, можно передать в объекте типа CFMutableAttributedStringRef
, и в функции, где Вы видите a CFMutableAttributedStringRef
параметр, можно передать в NSMutableAttributedString
экземпляр. Посмотрите Бесплатные Соединенные мостом Типы для получения дополнительной информации о бесплатном образовании моста.
Существует не всегда 1:1 отображающийся между NSMutableAttributedString
методы и функции CFMutableAttributedString. Например, для выполнения работы, эквивалентной NSMutableAttributedString
appendAttributedString:
метод на объекте CFMutableAttributedString, можно использовать CFAttributedStringReplaceAttributedString
и укажите CFRangeMake(CFAttributedStringGetLength(attrStr), 0)
как диапазон. Альтернативно можно бросить объект CFMutableAttributedString к NSMutableAttributedString
возразите и отправьте appendAttributedString:
сообщение.
-
Создает непостоянную приписанную строку.
Объявление
Swift
func CFAttributedStringCreateMutable(_
alloc
: CFAllocator!, _maxLength
: CFIndex) -> CFMutableAttributedString!Objective C
CFMutableAttributedStringRef CFAttributedStringCreateMutable ( CFAllocatorRef alloc, CFIndex maxLength );
Параметры
alloc
Средство выделения, которое будет использоваться для выделения памяти для новой приписанной строки. Передача
NULL
илиkCFAllocatorDefault
использовать текущее средство выделения по умолчанию.maxLength
Предел на длине новой приписанной строки. Строка запускается пустой и может расти до этой длины (это может быть короче).
Передача
0
указать, что не ограничивается максимальная длина. Значение не должно быть отрицательным.Возвращаемое значение
Новая непостоянная приписанная строка. Владение соблюдает Создать Правило.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.4 и позже.
-
Создает непостоянную копию приписанной строки.
Объявление
Swift
func CFAttributedStringCreateMutableCopy(_
alloc
: CFAllocator!, _maxLength
: CFIndex, _aStr
: CFAttributedString!) -> CFMutableAttributedString!Objective C
CFMutableAttributedStringRef CFAttributedStringCreateMutableCopy ( CFAllocatorRef alloc, CFIndex maxLength, CFAttributedStringRef aStr );
Параметры
alloc
Средство выделения, которое будет использоваться для выделения памяти для новой приписанной строки. Передача
NULL
илиkCFAllocatorDefault
использовать текущее средство выделения по умолчанию.maxLength
Предел на длине новой приписанной строки. Строка запускается пустой и может расти до этой длины (это может быть короче).
Передача
0
указать, что не ограничивается максимальная длина. Если не -0
,maxLength
должно быть больше, чем или равным длинеaStr
.aStr
Приписанная строка для копирования.
Возвращаемое значение
Непостоянная копия
aStr
. Владение соблюдает Создать Правило.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.4 и позже.
-
Задерживает внутреннюю проверку непротиворечивости и объединяющий для непостоянной приписанной строки.
Объявление
Swift
func CFAttributedStringBeginEditing(_
str
: CFMutableAttributedString!)Objective C
void CFAttributedStringBeginEditing ( CFMutableAttributedStringRef aStr );
Параметры
str
Непостоянная приписанная строка, которая должна быть отредактирована.
Обсуждение
Задерживает внутреннюю проверку непротиворечивости и объединяющий для непостоянной приписанной строки. Необходимо сбалансировать вызов к этой функции с соответствием
CFAttributedStringEndEditing
.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.4 и позже.
-
Повторно включает внутреннюю проверку непротиворечивости и объединяющий для непостоянной приписанной строки.
Объявление
Swift
func CFAttributedStringEndEditing(_
str
: CFMutableAttributedString!)Objective C
void CFAttributedStringEndEditing ( CFMutableAttributedStringRef aStr );
Параметры
str
Непостоянная приписанная строка, после вызова к
CFAttributedStringBeginEditing
.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.4 и позже.
-
Добирается как непостоянная строка строка для приписанной строки.
Объявление
Swift
func CFAttributedStringGetMutableString(_
str
: CFMutableAttributedString!) -> CFMutableString!Objective C
CFMutableStringRef CFAttributedStringGetMutableString ( CFMutableAttributedStringRef aStr );
Параметры
str
Непостоянная приписанная строка, от которой можно получить строку.
Возвращаемое значение
Строка для указанной приписанной строки как непостоянная строка.
Обсуждение
Эта функция позволяет Вам редактировать символьное содержание приписанной строки, как будто это был CFMutableString. Атрибуты, соответствующие отредактированному диапазону, соответственно изменяются. Если в результате редактирования новые символы вводятся в строку, они наследовали атрибуты первого замененного символа от диапазона. Если никакие существующие символы не заменяются редактированием, новые символы наследовали атрибуты диапазона предшествования символа, если это имеет кого-либо, иначе символа после диапазона. Если начальная строка пуста, атрибуты для новых символов также пусты.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.4 и позже.
-
Удаляет значение единственного атрибута по указанному диапазону.
Объявление
Swift
func CFAttributedStringRemoveAttribute(_
str
: CFMutableAttributedString!, _range
: CFRange, _attrName
: CFString!)Objective C
void CFAttributedStringRemoveAttribute ( CFMutableAttributedStringRef aStr, CFRange range, CFStringRef attrName );
Параметры
str
Непостоянная приписанная строка для изменения.
range
Диапазон
aStr
из которого можно удалить указанный атрибут.range
не должен превышать границыaStr
.attrName
Имя атрибута для удаления.
Обсуждение
Это не ошибка указанного атрибута, не существует по данному диапазону.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.4 и позже.
-
Изменяет строку приписанной строки.
Объявление
Swift
func CFAttributedStringReplaceString(_
aStr
: CFMutableAttributedString!, _range
: CFRange, _replacement
: CFString!)Objective C
void CFAttributedStringReplaceString ( CFMutableAttributedStringRef aStr, CFRange range, CFStringRef replacement );
Параметры
aStr
Непостоянная приписанная строка для изменения.
range
Диапазон
aStr
быть измененным.range
не должен указывать символы вне границaStr
.replacement
Строка для замены существующей строки в
range
.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.4 и позже.
-
Заменяет приписанную подстроку по диапазону с другой приписанной строкой.
Объявление
Swift
func CFAttributedStringReplaceAttributedString(_
aStr
: CFMutableAttributedString!, _range
: CFRange, _replacement
: CFAttributedString!)Objective C
void CFAttributedStringReplaceAttributedString ( CFMutableAttributedStringRef aStr, CFRange range, CFAttributedStringRef replacement );
Параметры
aStr
Непостоянная приписанная строка для изменения.
range
Диапазон
aStr
быть измененным.range
не должен указывать символы вне границaStr
.replacement
Приписанная строка для замены содержания
aStr
вrange
.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.4 и позже.
-
Устанавливает значение единственного атрибута по указанному диапазону.
Объявление
Swift
func CFAttributedStringSetAttribute(_
aStr
: CFMutableAttributedString!, _range
: CFRange, _attrName
: CFString!, _value
: AnyObject!)Objective C
void CFAttributedStringSetAttribute ( CFMutableAttributedStringRef aStr, CFRange range, CFStringRef attrName, CFTypeRef value );
Параметры
aStr
Непостоянная приписанная строка для изменения.
range
Диапазон
aStr
к которому применяются новые атрибуты.range
не должен превышать границыaStr
.attrName
Имя атрибута, чье значение для установки.
value
Значение атрибута
attrName
применятьсяrange
. Это значение может не бытьNULL
. Если Вы хотите удалить атрибут, использоватьCFAttributedStringRemoveAttribute
.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.4 и позже.
-
Устанавливает значение атрибутов непостоянной приписанной строки по указанному диапазону.
Объявление
Swift
func CFAttributedStringSetAttributes(_
aStr
: CFMutableAttributedString!, _range
: CFRange, _replacement
: CFDictionary!, _clearOtherAttributes
: Boolean)Objective C
void CFAttributedStringSetAttributes ( CFMutableAttributedStringRef aStr, CFRange range, CFDictionaryRef replacement, Boolean clearOtherAttributes );
Параметры
aStr
Непостоянная приписанная строка для изменения.
range
Диапазон астры, к которой применяются новые атрибуты.
range
не должен превышать границыaStr
.replacement
Словарь, содержащий пары ключ/значение, указывающие новые атрибуты для применения к
range
. Ключи должны быть объектами CFString, и соответствующие значения должны быть объектами CFType.clearOtherAttributes
Если
false
, существующие атрибуты (которые не заменяются) оставлены в покое; иначе они очищены.Обсуждение
Обратите внимание на то, что после этого вызова, если это является непостоянным, изменения в
replacement
не будет влиять на содержание приписанной строки.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.4 и позже.
-
Ссылка на объект CFMutableAttributedString.
Объявление
Swift
typealias CFMutableAttributedStringRef = CFMutableAttributedString
Objective C
typedef struct __CFAttributedString *CFMutableAttributedStringRef;
Обсуждение
CFMutableAttributedStringRef
тип относится к непостоянному объекту, комбинирующему объект CFString с набором атрибутов, указывающих, как символы в строке должны быть выведены на экран. CFMutableAttributedString является непрозрачным типом, определяющим характеристики и поведение объектов CFMutableAttributedString.Объекты CFMutableAttributedString также реагируют на все функции, предназначенные для неизменных объектов CFAttributedString.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.4 и позже.