Текстовая система какао
( Текстовая система Cocoa ранее известная просто под именем основного класса NSText ) представляет собой связанную сеть классов , протоколов , интерфейсов и объектов , которые обеспечивают возможности типографики и текстовых полей редактирования Cocoa , а также приложениям Apple на macOS . , где она является основной система обработки текста. [1] Несмотря на то, что стандартные возможности текстовой системы Cocoa по обработке текста «чрезвычайно сложны», они получили широкую оценку как не имеющие аналогов. [2] [3] Можно реализовать полнофункциональный редактор форматированного текста всего за несколько строк кода. [4] [5]
Ранее воплощенный [6] в разработчика NeXT Inc. спецификации OpenStep API и реализовано в операционной системе NeXT OPENSTEP и, вероятно, также в более ранней версии NeXTSTEP. [ нужна ссылка ] Кроме того, NSText от Cocoa был успешно реализован через спецификацию OpenStep API в сторонних реализациях, таких как с открытым исходным кодом бесплатный GNUstep . [6]
Текстовая система Cocoa использует Модель-Представление-Контроллер шаблон проектирования . [7] Уровень представления обрабатывается NSTextView и NSTextField, NSLayoutManager и NSTextContainer — это уровень контроллера, а NSTextStorage ( подкласс изменяемой с атрибутами строки ) — это модель. [8]
Текстовая система Cocoa также взаимодействует со службами для обеспечения стандартных функций потоков в среде графического пользовательского интерфейса. Пользователи взаимодействуют с двумя классами: NSTextField (обеспечивающим однострочные поля редактирования) или NSTextView (обеспечивающим многострочное редактирование). Каждый NSTextField использует общий экземпляр NSTextView, называемый «редактором полей». Это было сделано для снижения высоких требований к памяти, которые возникли бы, если бы каждое поле реализовало свой собственный граф объектов NSTextView, когда только одно поле могло фактически иметь фокус в любой момент времени. [9]
Cocoa использует многие сочетания клавиш Emacs , знакомые программистам. [10] а сочетания клавиш для редактирования текста по умолчанию можно переопределить и создать новые пользовательские сочетания клавиш путем создания и редактирования соответствующих файлов конфигурации. [11]
Ссылки [ править ]
- ^ Apple Inc. (11 февраля 2014 г.). «О текстовой системе Cocoa» . Руководство по архитектуре текста какао . Проверено 19 февраля 2023 г.
- ^ Мука, Скотт; Бак, Эрик М.; Яктман, Дональд А. (2003). Программирование какао . ISBN 9780672322303 .
- ^ «Восстань, Аква!» .
Вы создадите текстовый процессор, способный обрабатывать кернинг, выравнивание, под- и надстрочные индексы, полную поддержку Unicode, проверку орфографии, несколько стилей шрифтов и абзацев, перетаскивание встроенной графики и цветов, линейки с настраиваемыми позициями табуляции, чтение и запись текста. соответствующие файлы RTFD, и все это менее чем в 13 строках кода! Вы не сможете сделать это ни в одной другой среде разработки на планете.
- ^ «Обработка расширенного текста» . О'Рейли Коммонс . 07.03.2008. Архивировано из оригинала 21 июля 2016 г.
- ^ «Начало разработки для Mac OS X» .
В TE очень мало пользовательского кода, и в основном есть только код, необходимый для того, чтобы AppKit вел себя как текстовый редактор.
- ↑ Перейти обратно: Перейти обратно: а б «ГНУстеп» . gnustep.org . Проверено 16 августа 2020 г.
- ^ «Архитектура текстовой системы Cocoa является одновременно модульной и многоуровневой, что повышает ее простоту использования и гибкость. Ее модульная конструкция отражает парадигму Модель-Представление-Контроллер (берущую свое начало в Smalltalk-80), где данные, их визуальное представление и логика, которые Связывает эти два объекта в виде отдельных объектов. В случае текстовой системы NSTextStorage хранит текстовые данные модели, NSTextContainer моделирует геометрию области макета, NSTextView представляет представление, а NSLayoutManager выступает в качестве контроллера, чтобы убедиться, что данные и его изображение на экране остаются в согласии» .
- ^ Брайт, Питер (1 июня 2008 г.). «От Win32 к Cocoa: потенциальный переход пользователя Windows на Mac OS X, часть III» . Арс Техника . Проверено 19 февраля 2023 г.
- ^ Дови, Джеймс; Борозда, Эшли Алонсо Хейл (4 января 2013 г.). Начальная цель C . ISBN 9781430243694 .
- ^ Рус, Джейкоб (20 марта 2006 г.). «Настройка текстовой системы Cocoa» . Архивировано из оригинала 07.10.2018.
- ^ «Настройки текстовой системы по умолчанию и привязки клавиш» . Архив документации разработчиков Apple . 9 сентября 2013 г. Архивировано из оригинала 10 марта 2024 г. Проверено 18 января 2024 г.