Ссылка CFAttributedString
Экземпляры CFAttributedString управляют символьными строками и связанными наборами атрибутов (например, шрифт и использующая кернинг информация), которые применяются к отдельным символам или диапазонам символов в строке. CFAttributedString, как определено в Базовой Основе обеспечивает основную контейнерную функциональность, в то время как более высокие уровни обеспечивают определения для стандартных атрибутов, их значений и дополнительных способов поведения, включающих их. CFAttributedString представляет неизменную строку — использование CFMutableAttributedStringRef
создать и управлять приписанной строкой, которая может быть изменена после того, как она была создана.
CFAttributedString не является «подклассом» CFString; т.е. это не отвечает на вызовы функции CFString. CFAttributedString концептуально содержит CFString, к которому он применяет атрибуты. Это защищает Вас от случаев неоднозначности, вызванных семантическими различиями между простой и приписанной строкой.
Атрибуты идентифицируются парами ключ/значение, сохраненными в объектах CFDictionary. В то время как соответствующие значения являются объектами CFType надлежащего типа, ключи должны быть объектами CFString. Посмотрите константы атрибута в дополнительной NSAttributedString AppKit Ссылке или дополнительной NSAttributedString UIKit Ссылке для стандартных названий атрибута.
CFAttributedString “бесплатный соединенный мостом” с его дубликатом Основы, NSAttributedString
. Это означает, что Базовый тип Основы является взаимозаменяемым в вызовах функции или вызовах метода с соединенным мостом объектом Основы. Поэтому в методе, где Вы видите NSAttributedString *
параметр, можно передать в a CFAttributedStringRef
, и в функции, где Вы видите a CFAttributedStringRef
параметр, можно передать в NSAttributedString
экземпляр. Это также применяется к конкретным подклассам NSAttributedString
. Посмотрите Бесплатные Соединенные мостом Типы для получения дополнительной информации о бесплатном образовании моста.
-
Создает приписанную строку с указанной строкой и атрибутами.
Объявление
Swift
func CFAttributedStringCreate(_
alloc
: CFAllocator!, _str
: CFString!, _attributes
: CFDictionary!) -> CFAttributedString!Objective C
CFAttributedStringRef CFAttributedStringCreate ( CFAllocatorRef alloc, CFStringRef str, CFDictionaryRef attributes );
Параметры
alloc
Средство выделения для использования для выделения памяти для новой приписанной строки. Передача
NULL
илиkCFAllocatorDefault
использовать текущее средство выделения по умолчанию.str
Строка, указывающая символы для использования в новой приписанной строке. Это значение копируется.
attributes
Словарь, содержащий атрибуты для применения к новой приписанной строке. Это значение копируется.
Возвращаемое значение
Приписанная строка, содержащая символы от
str
и атрибуты, указанныеattributes
. РезультатNULL
если была проблема в создании приписанной строки. Владение соблюдает Создать Правило.Обсуждение
Обратите внимание на то, что и строка и словарь атрибутов копируются. Указанные атрибуты применяются к целой строке. Если Вы хотите применить различные атрибуты к различным диапазонам строки, необходимо использовать непостоянную приписанную строку.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.4 и позже.
-
Создает неизменную копию приписанной строки.
Объявление
Swift
func CFAttributedStringCreateCopy(_
alloc
: CFAllocator!, _aStr
: CFAttributedString!) -> CFAttributedString!Objective C
CFAttributedStringRef CFAttributedStringCreateCopy ( CFAllocatorRef alloc, CFAttributedStringRef aStr );
Параметры
alloc
Средство выделения для использования для выделения памяти для новой приписанной строки. Передача
NULL
илиkCFAllocatorDefault
использовать текущее средство выделения по умолчанию.aStr
Приписанная строка для копирования.
Возвращаемое значение
Неизменная приписанная строка с символами и атрибутами, идентичными тем
aStr
. ВозвратыNULL
если была проблема, копируя объект. Владение соблюдает Создать Правило.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.4 и позже.
-
Создает подприписанную строку из указанного диапазона.
Объявление
Swift
func CFAttributedStringCreateWithSubstring(_
alloc
: CFAllocator!, _theString
: CFAttributedString!, _range
: CFRange) -> CFAttributedString!Objective C
CFAttributedStringRef CFAttributedStringCreateWithSubstring ( CFAllocatorRef alloc, CFAttributedStringRef aStr, CFRange range );
Параметры
alloc
Средство выделения для использования для выделения памяти для новой приписанной строки. Передача
NULL
илиkCFAllocatorDefault
использовать текущее средство выделения по умолчанию.theString
Приписанная строка для копирования.
range
Диапазон приписанной строки для копирования.
range
не должен превышать границыaStr
.Возвращаемое значение
Новая приписанная строка, строка которой и атрибуты копируются с указанного диапазона предоставленной приписанной строки. Возвраты
NULL
если была проблема, копируя объект. Владение соблюдает Создать Правило.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.4 и позже.
-
Возвращает длину приписанной строки в символах.
Объявление
Swift
func CFAttributedStringGetLength(_
str
: CFAttributedString!) -> CFIndexObjective C
CFIndex CFAttributedStringGetLength ( CFAttributedStringRef aStr );
Параметры
str
Приписанная строка для исследования.
Возвращаемое значение
Длина приписанной строки в символах; это совпадает с
CFStringGetLength(CFAttributedStringGetString(aStr))
.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.4 и позже.
-
Возвращает строку для приписанной строки.
Объявление
Swift
func CFAttributedStringGetString(_
aStr
: CFAttributedString!) -> CFString!Objective C
CFStringRef CFAttributedStringGetString ( CFAttributedStringRef aStr );
Параметры
aStr
Приписанная строка для исследования.
Возвращаемое значение
Неизменная строка, содержащая символы от
aStr
, илиNULL
если была проблема, создающая объект. Владение соблюдает Получить Правило.Обсуждение
По причинам производительности возвратилась строка, часто будет запоминающее устройство приписанной строки, и это могло бы поэтому измениться, если редактируется приписанная строка. Однако это - подробность реализации, и Вы не должны полагаться на это поведение.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.4 и позже.
-
Возвращает значение данного атрибута приписанной строки в указанном расположении.
Объявление
Swift
func CFAttributedStringGetAttribute(_
str
: CFAttributedString!, _loc
: CFIndex, _attrName
: CFString!, _effectiveRange
: UnsafeMutablePointer<CFRange>) -> AnyObject!Objective C
CFTypeRef CFAttributedStringGetAttribute ( CFAttributedStringRef aStr, CFIndex loc, CFStringRef attrName, CFRange *effectiveRange );
Параметры
str
Приписанная строка для исследования.
loc
Расположение в
str
в котором можно определить атрибуты.loc
не должен превышать границыstr
.attrName
Имя атрибута, значение которого Вы хотите определить.
effectiveRange
Если нет
NULL
, по возврату содержит диапазон включаяloc
по которому точно тот же набор атрибутов применяются как вloc
.Возвращаемое значение
Значение указанного атрибута в указанном расположении в
str
. Владение соблюдает Получить Правило.Обсуждение
По причинам производительности диапазон возвратился в
effectiveRange
не обязательно максимальный диапазон. При необходимости в максимальном диапазоне необходимо использоватьCFAttributedStringGetAttributeAndLongestEffectiveRange
.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.4 и позже.
-
Возвращает атрибуты приписанной строки в указанном расположении.
Объявление
Swift
func CFAttributedStringGetAttributes(_
str
: CFAttributedString!, _loc
: CFIndex, _effectiveRange
: UnsafeMutablePointer<CFRange>) -> CFDictionary!Objective C
CFDictionaryRef CFAttributedStringGetAttributes ( CFAttributedStringRef aStr, CFIndex loc, CFRange *effectiveRange );
Параметры
str
Приписанная строка для исследования.
loc
Расположение в
str
в котором можно определить атрибуты.loc
не должен превышать границыstr
.effectiveRange
Если нет
NULL
, по возврату содержит диапазон включаяloc
по которому точно тот же набор атрибутов применяются как вloc
.Возвращаемое значение
Словарь, содержащий атрибуты
str
в указанном расположении. Владение соблюдает Получить Правило.Обсуждение
По причинам производительности диапазон возвратился в
effectiveRange
не обязательно максимальный диапазон. При необходимости в максимальном диапазоне необходимо использоватьCFAttributedStringGetAttributesAndLongestEffectiveRange
.Если приписанная строка редактируется после этого вызова, Обратите внимание на то, что возвращенный словарь атрибута мог бы измениться непредсказуемыми способами. Если Вы хотите сохранить состояние словаря, необходимо сделать фактическую копию из него вместо того, чтобы просто сохранить его. Кроме того, Вы не должны делать предположения об отношении фактического словаря возвращенными этим вызовом, и словарь первоначально раньше устанавливал атрибуты кроме факта, что значения, сохраненные в словарях, будут идентичны (т.е.
==
) к первоначально указанным.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.4 и позже.
-
CFAttributedStringGetAttributeAndLongestEffectiveRange (_: _: _: _: _:) CFAttributedStringGetAttributeAndLongestEffectiveRange
Возвращает значение данного атрибута приписанной строки в указанном расположении.
Объявление
Swift
func CFAttributedStringGetAttributeAndLongestEffectiveRange(_
str
: CFAttributedString!, _loc
: CFIndex, _attrName
: CFString!, _inRange
: CFRange, _effectiveRange
: UnsafeMutablePointer<CFRange>) -> AnyObject!Objective C
CFTypeRef CFAttributedStringGetAttributeAndLongestEffectiveRange ( CFAttributedStringRef aStr, CFIndex loc, CFStringRef attrName, CFRange inRange, CFRange *longestEffectiveRange );
Параметры
str
Приписанная строка для исследования.
loc
Расположение в
str
в котором можно определить атрибуты. Это - программная ошибка дляloc
указать расположение вне границstr
.attrName
Имя атрибута, значение которого Вы хотите определить.
inRange
Диапазон в
str
в котором Вы хотите найти самый длинный диапазон измерений атрибутов вloc
.inRange
не должен превышать границыstr
.effectiveRange
Если нет
NULL
, по возврату содержит максимальный диапазон вinRange
по которому тот же самый набор атрибутов применяются. Возвращенный диапазон отсекается кinRange
.Возвращаемое значение
Словарь, содержащий атрибуты
str
в указанном расположении. Владение соблюдает Получить Правило.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.4 и позже.
-
CFAttributedStringGetAttributesAndLongestEffectiveRange (_: _: _: _:) CFAttributedStringGetAttributesAndLongestEffectiveRange
Возвращает атрибуты приписанной строки в указанном расположении.
Объявление
Swift
func CFAttributedStringGetAttributesAndLongestEffectiveRange(_
str
: CFAttributedString!, _loc
: CFIndex, _inRange
: CFRange, _effectiveRange
: UnsafeMutablePointer<CFRange>) -> CFDictionary!Objective C
CFDictionaryRef CFAttributedStringGetAttributesAndLongestEffectiveRange ( CFAttributedStringRef aStr, CFIndex loc, CFRange inRange, CFRange *longestEffectiveRange );
Параметры
str
Приписанная строка для исследования.
loc
Расположение в
str
в котором можно определить атрибуты.loc
не должен превышать границыstr
.inRange
Диапазон в
str
в найти самый длинный диапазон измерений атрибутов вloc
.inRange
не должен превышать границыstr
.effectiveRange
Если нет
NULL
, по возврату содержит максимальный диапазон вinRange
по которому тот же самый набор атрибутов применяются. Возвращенный диапазон отсекается кinRange
.Возвращаемое значение
Словарь, содержащий атрибуты
str
в указанном расположении. Владение соблюдает Получить Правило.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.4 и позже.
-
Возвращает идентификатор типа для CFAttributedString непрозрачный тип.
Объявление
Swift
func CFAttributedStringGetTypeID() -> CFTypeID
Objective C
CFTypeID CFAttributedStringGetTypeID ( void );
Возвращаемое значение
Идентификатор типа для CFAttributedString непрозрачный тип.
Обсуждение
Объекты CFMutableAttributedString имеют тот же идентификатор типа как объекты CFAttributedString.
Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.4 и позже.
-
Ссылка на объект CFAttributedString.
Объявление
Swift
typealias CFAttributedStringRef = CFAttributedString
Objective C
typedef const struct __CFAttributedString *CFAttributedStringRef;
Обсуждение
CFAttributedStringRef
тип относится к объекту, комбинирующему объект CFString с набором атрибутов, указывающих, как символы в строке должны быть выведены на экран. CFAttributedString является непрозрачным типом, определяющим характеристики и поведение объектов CFAttributedString.Значения типа
CFAttributedStringRef
может относиться к неизменным или непостоянным строкам, поскольку объекты CFMutableAttributedString реагируют на все функции, предназначенные для неизменных объектов CFAttributedString. Принимающие функцииCFAttributedStringRef
значения, и который должен держаться за значения неизменно, должны вызватьCFAttributedStringCreateWithSubstring
(вместоCFRetain
) сделать так.Оператор импорта
Objective C
@import CoreFoundation;
Swift
import CoreFoundation
Доступность
Доступный в OS X v10.4 и позже.