NSTextStorage
NSTextStorage
полуконкретный подкласс NSMutableAttributedString
это управляет рядом клиента NSLayoutManager
объекты, уведомляя их относительно любых изменений в его символах или атрибутах так, чтобы они могли передать и восстановить изображение текста по мере необходимости. NSTextStorage
определяет фундаментальный механизм хранения расширенной текстовой системы обработки Набора Приложения.
Наследование
-
NSObject
-
NSAttributedString
-
NSMutableAttributedString
-
NSTextStorage
-
NSObject
-
NSAttributedString
-
NSMutableAttributedString
-
NSTextStorage
Соответствует
-
AnyObject
-
CVarArgType
-
Сопоставимый
-
Hashable
-
NSCoding
-
NSCopying
-
NSMutableCopying
-
NSObjectProtocol
-
NSPasteboardReading
-
NSPasteboardWriting
-
NSSecureCoding
-
Печатаемый
-
NSCopying
-
NSMutableCopying
-
NSObject
-
NSSecureCoding
Оператор импорта
Swift
import AppKit
Objective C
@import AppKit;
Доступность
Доступный в OS X v10.0 и позже.
-
Добавляет менеджер по расположению к группе получателя менеджеров по расположению.
Объявление
Swift
func addLayoutManager(_
aLayoutManager
: NSLayoutManager)Objective C
- (void)addLayoutManager:(NSLayoutManager *)
aLayoutManager
Параметры
aLayoutManager
Менеджер по расположению для добавления.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Удаляет менеджера по расположению из группы получателя менеджеров по расположению.
Объявление
Swift
func removeLayoutManager(_
aLayoutManager
: NSLayoutManager)Objective C
- (void)removeLayoutManager:(NSLayoutManager *)
aLayoutManager
Параметры
aLayoutManager
Менеджер по расположению для удаления.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Возвращает менеджеров по расположению получателя.
Объявление
Swift
var layoutManagers: [AnyObject] { get }
Objective C
@property(readonly, copy) NSArray *layoutManagers
Возвращаемое значение
Менеджеры по расположению получателя.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Изменения дорожек, внесенные в получатель, позволяя текстовому хранению записать в полной мере внесенные изменения.
Объявление
Objective C
- (void)edited:(NSUInteger)
mask
range:(NSRange)oldRange
changeInLength:(NSInteger)lengthChange
Параметры
mask
Маска, указывающая природу изменений. Значение сделано путем объединения с оператором битового «ИЛИ» C опций, описанных в
“Change notifications”
.oldRange
Степень символов, затронутых перед изменением, имела место.
lengthChange
Число символов добавило к или удаленный из
oldRange
. Если никакие символы, где отредактировано, как отмеченоmask
, его значение не важно и не определено. Например, при замене с «Несколькими» в строке “Файлы не могли быть сохранены”,oldRange
{0, 3} иlengthChange
4.Обсуждение
Этот метод вызывает
processEditing
если там являются не выдающимисяbeginEditing
вызовы.NSTextStorage
вызывает этот метод автоматически каждый раз, когда он вносит изменение в свою приписанную строку. Подклассы, переопределяющие или добавляющие методы, изменяющие их приписанные строки непосредственно, должны вызвать этот метод после внесения тех изменений; иначе Вы не должны вызывать этот метод. Информация, накопленная с этим методом, тогда используется в вызовеprocessEditing
сообщить о затронутой части получателя.Методы для запросов изменений,
editedRange
иchangeInLength
, укажите степень символов, затронутых после изменения. Этот метод ожидает символы перед изменением, потому что та информация легко доступна, поскольку параметр любому методу выполняет изменение (такой какreplaceCharactersInRange:withString:
).Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Гарантирует, что атрибуты фиксируются в данном диапазоне.
Объявление
Swift
func ensureAttributesAreFixedInRange(_
range
: NSRange)Objective C
- (void)ensureAttributesAreFixedInRange:(NSRange)
range
Параметры
range
Диапазон символов, атрибуты которых могли бы быть исследованы.
Обсуждение
NSTextStorage
объект с помощью ленивой фиксации атрибута требуется, чтобы вызывать этот метод прежде, чем получить доступ к любым атрибутам вrange
. Этот метод дает атрибут, фиксирующий шанс произойти при необходимости.NSTextStorage
подклассы, желающие поддерживать лень, должны вызвать этот метод от всех средств доступа атрибута, которые они реализуют.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Возвраты, фиксирует ли получатель атрибуты лениво.
Объявление
Swift
var fixesAttributesLazily: Bool { get }
Objective C
@property(readonly) BOOL fixesAttributesLazily
Возвращаемое значение
YES
true
если текстовое хранение фиксирует атрибуты лениво,NO
false
иначе.Обсуждение
По умолчанию, пользовательский
NSTextStorage
подклассы не ленивы, но предоставленный конкретный подкласс ленив по умолчанию.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Лишает законной силы атрибуты в указанном диапазоне.
Объявление
Swift
func invalidateAttributesInRange(_
range
: NSRange)Objective C
- (void)invalidateAttributesInRange:(NSRange)
range
Параметры
range
Диапазон символов, атрибуты которых должны быть лишены законной силы.
Обсуждение
Вызванный от
processEditing
лишить законной силы атрибуты когда текстовые изменения среды хранения. Если получатель не ленив, этот метод просто вызываетfixAttributesInRange:
. Если ленивая фиксация атрибута имеет силу, этот метод вместо этого записывает фиксацию необходимости диапазона.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Очищает изменения, внесенные в получатель, и уведомляет его делегата и менеджеров по расположению изменений.
Объявление
Swift
func processEditing()
Objective C
- (void)processEditing
Обсуждение
Этот метод автоматически вызывается в ответ на
edited:range:changeInLength:
обменивайтесь сообщениями илиendEditing
обменивайтесь сообщениями, если редактирования были сделаны в рамках abeginEditing
блок. Вы никогда не должны должны быть вызывать его непосредственно.Этот метод начинается путем регистрации
NSTextStorageWillProcessEditingNotification
к центру уведомления по умолчанию (который приводит к делегату, получающему atextStorageWillProcessEditing:
сообщение). Тогда это фиксирует атрибуты. После этого это отправляетNSTextStorageDidProcessEditingNotification
к центру уведомления по умолчанию (который приводит к делегату, получающему atextStorageDidProcessEditing:
сообщение). Наконец, это отправляет atextStorage:edited:range:changeInLength:invalidatedRange:
обменивайтесь сообщениями каждому из менеджеров по расположению получателя, использующих предоставленные значения аргументов.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Возвращает виды редактирований, ожидающих для получателя
Возвращаемое значение
Маска, описывающая виды редактирований, ожидающих для получателя.
Обсуждение
Используйте C поразрядная операция И для тестирования маски; если дополнительные флаги маски будут добавлены позже, тестирование на равенство перестанет работать. Делегат получателя и менеджеры по расположению могут использовать эту информацию для определения природы редактирований в их соответствующих методах уведомления.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Возвращает диапазон получателя, в который незаконченные изменения были внесены, ли из символов или атрибутов.
Объявление
Swift
var editedRange: NSRange { get }
Objective C
@property(readonly) NSRange editedRange
Возвращаемое значение
Диапазон получателя, в который незаконченные изменения были внесены, ли из символов или атрибутов.
Обсуждение
Делегат получателя и менеджеры по расположению могут использовать эту информацию для определения природы редактирований в их соответствующих методах уведомления.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Возвращает различие между текущей длиной отредактированного диапазона и его длиной, прежде чем началось редактирование.
Объявление
Swift
var changeInLength: Int { get }
Objective C
@property(readonly) NSInteger changeInLength
Возвращаемое значение
Различие между текущей длиной отредактированного диапазона и его длиной перед редактированием началось. Т.е. прежде чем получатель был отправлен первое
beginEditing
обменивайтесь сообщениями или синглedited:range:changeInLength:
сообщение.Обсуждение
Это различие накапливается с каждым вызовом
edited:range:changeInLength:
, до заключительные обработки сообщений изменения.Делегат получателя и менеджеры по расположению могут использовать эту информацию для определения природы редактирований в их соответствующих методах уведомления.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Устанавливает делегата получателя.
Объявление
Swift
unowned(unsafe) var delegate: NSTextStorageDelegate?
Objective C
@property(assign) id<NSTextStorageDelegate> delegate
Параметры
anObject
Новый делегат.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Возвращает делегата получателя.
Объявление
Swift
unowned(unsafe) var delegate: NSTextStorageDelegate?
Objective C
@property(assign) id<NSTextStorageDelegate> delegate
Возвращаемое значение
Делегат получателя.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
См. также
-
Возвращает массив выполнений атрибута получателя.
Объявление
Swift
var attributeRuns: [AnyObject]
Objective C
@property(copy) NSArray *attributeRuns
Возвращаемое значение
Массив выполнений атрибута получателя.
Специальные замечания
Если Вы не имеете дело с scriptability, Вы не должны вызывать этот метод непосредственно.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Устанавливает выполнения атрибута получателя.
Объявление
Swift
var attributeRuns: [AnyObject]
Objective C
@property(copy) NSArray *attributeRuns
Параметры
attributeRuns
Массив атрибута работает для установки.
Специальные замечания
Если Вы не имеете дело с scriptability, Вы не должны вызывать этот метод непосредственно.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Возвращает текст получателя как массив символов.
Объявление
Swift
var characters: [AnyObject]
Objective C
@property(copy) NSArray *characters
Специальные замечания
Не используйте этот метод, если Вы не имеете дело непосредственно с scriptability. Для индексного доступа к символам использовать
NSAttributedString
length
метод для доступа к строке, иNSString
characterAtIndex:
метод для доступа к отдельным символам.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Устанавливает текстовый текст хранения.
Объявление
Swift
var characters: [AnyObject]
Objective C
@property(copy) NSArray *characters
Параметры
characters
Символы для установки как текст текстового хранения.
Специальные замечания
Не используйте этот метод, если Вы не имеете дело непосредственно с scriptability. Использовать
NSMutableAttributedString
mutableString
метод для возврата строкового объекта, который будет прослежен соответствующей приписанной строкой для модификаций.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Возвращает шрифт получателя.
Возвращаемое значение
Шрифт получателя.
Обсуждение
В OS X v10.5 и позже, если шрифт не был установлен, этот метод и связанные со шрифтом команды сценариев принимают Helvetica 12.
Специальные замечания
Если Вы не имеете дело с scriptability, Вы не должны вызывать этот метод непосредственно.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Устанавливает текстовый шрифт хранения.
Параметры
font
Новый шрифт.
Специальные замечания
Если Вы не имеете дело с scriptability, Вы не должны вызывать этот метод непосредственно.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Возвращает текстовый основной цвет хранения.
Объявление
Swift
var foregroundColor: NSColor?
Objective C
@property(strong) NSColor *foregroundColor
Возвращаемое значение
Текстовый основной цвет хранения.
Специальные замечания
Если Вы не имеете дело с scriptability, Вы не должны вызывать этот метод непосредственно.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Выбирает текстовый основной цвет хранения.
Объявление
Swift
var foregroundColor: NSColor?
Objective C
@property(strong) NSColor *foregroundColor
Параметры
color
Новый основной цвет.
Специальные замечания
Если Вы не имеете дело с scriptability, Вы не должны вызывать этот метод непосредственно.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Возвращает массив текстовых абзацев хранения.
Объявление
Swift
var paragraphs: [AnyObject]
Objective C
@property(copy) NSArray *paragraphs
Возвращаемое значение
Массив текстовых абзацев хранения.
Специальные замечания
Если Вы не имеете дело с scriptability, Вы не должны вызывать этот метод непосредственно.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Устанавливает текстовые абзацы хранения.
Объявление
Swift
var paragraphs: [AnyObject]
Objective C
@property(copy) NSArray *paragraphs
Параметры
paragraphs
Массив строк для установки как текстовые абзацы хранения.
Специальные замечания
Если Вы не имеете дело с scriptability, Вы не должны вызывать этот метод непосредственно.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Возвращает массив текстовых слов хранения.
Объявление
Swift
var words: [AnyObject]
Objective C
@property(copy) NSArray *words
Возвращаемое значение
Массив текстовых слов хранения.
Специальные замечания
Если Вы не имеете дело с scriptability, Вы не должны вызывать этот метод непосредственно.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Устанавливает текстовые слова хранения.
Объявление
Swift
var words: [AnyObject]
Objective C
@property(copy) NSArray *words
Параметры
words
Массив строк для установки как текстовые слова хранения.
Специальные замечания
Если Вы не имеете дело с scriptability, Вы не должны вызывать этот метод непосредственно.
Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Эти константы используются в
edited:range:changeInLength:
.Объявление
Swift
struct NSTextStorageEditedOptions : RawOptionSetType { init(_
rawValue
: UInt) init(rawValuerawValue
: UInt) static var Attributes: NSTextStorageEditedOptions { get } static var Characters: NSTextStorageEditedOptions { get } }Objective C
enum { NSTextStorageEditedAttributes = 1, NSTextStorageEditedCharacters = 2 };
Константы
-
Attributes
NSTextStorageEditedAttributes
Атрибуты были добавлены, удалены или изменены.
Доступный в OS X v10.0 и позже.
-
Characters
NSTextStorageEditedCharacters
Символы были добавлены, удалены или заменены.
Доступный в OS X v10.0 и позже.
Обсуждение
Этими значениями является также OR'ed вместе в уведомлениях для информирования экземпляров
NSLayoutManager
был изменен — посмотритеtextStorage:edited:range:changeInLength:invalidatedRange:
. -
-
Отправленный после того, как текстовое хранение заканчивает обрабатывать редактирования в
processEditing
.Наблюдатели кроме делегата не должны вносить дальнейшие изменения в текстовое хранение. Объект уведомления является текстовым объектом хранения, обработавшим редактирования. Это уведомление не содержит a
userInfo
словарь.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.
-
Отправленный, прежде чем текстовое хранение заканчивает обрабатывать редактирования в
processEditing
.Наблюдатели кроме делегата не должны вносить дальнейшие изменения в текстовое хранение. Объект уведомления является текстовым объектом хранения, собирающимся обработать редактирования. Это уведомление не содержит a
userInfo
словарь.Оператор импорта
Objective C
@import AppKit;
Swift
import AppKit
Доступность
Доступный в OS X v10.0 и позже.