Изменение текстового хранения
Поведение NSTextStorage объект лучше всего проиллюстрирован следующим сообщения, которые Вы отправляете для изменения его текста. Существует три этапа к редактированию текстового объекта хранения программно:
Первая стадия должна отправить ему a
beginEditingсообщение для объявления о группе изменений.На втором этапе Вы отправляете ему некоторые сообщения редактирования, такой как
deleteCharactersInRange:иaddAttributes:range:, вызвать изменения в символах или атрибутах. Каждый раз, когда Вы отправляете такое сообщение, текстовый объект хранения вызываетedited:range:changeInLength:отслеживать диапазон его символов, затронутых, так как это получилоbeginEditingсообщение.Для третьей стадии, когда Вы сделаны, изменив текстовый объект хранения, Вы отправляете его
endEditingсообщение. Это заставляет его вызывать свое собственноеprocessEditingметод, фиксируя атрибуты в зарегистрированном диапазоне измененных символов. (См., что текстовый Атрибут Программирует Темы для получения информации о фиксации атрибута.)
После фиксации его атрибутов текстовый объект хранения отправляет сообщение каждому связанному менеджеру по расположению, указывающему диапазон в текстовом объекте хранения, изменившемся, вместе с природой тех изменений. Менеджеры по расположению поочередно используют эту информацию, чтобы повторно вычислить их расположения глифа и восстановить изображение при необходимости. NSTextStorage также сохраняет делегата и отправляет, это обменивается сообщениями прежде и после обработки редактирований.