Текстовая система Какао

редактировать

Текстовая система Какао (ранее известная просто по имени основного класса NSText ) это связанная сеть из классов, протоколов, интерфейсов и объектов, которые предоставляют типографику и текст поле возможности редактирования и приложениям Какао в Apple OSX, где это основная система обработки текста. Несмотря на то, что стандартные возможности текстовой системы Какао «чрезвычайно сложные» по обработке текста, многие хвалят, что они не имеют аналогов. Полнофункциональный редактор форматированного текста можно реализовать всего в нескольких строках кода.

Ранее реализованный в OpenStep разработчика NeXT Inc. Спецификация API и реализована в операционной системе NeXT OPENSTEP, и, вероятно, также в более ранней платформе NeXTSTEP, NSText Какао был дополнительно реализован через OpenStep Спецификация API успешно реализована в сторонних реализациях, таких как free-and-open-source GNUstep.

Текстовая система Какао использует Model-View-Controller шаблон проектирования. Уровень представления обрабатывается NSTextView, а NSTextField, NSLayoutManager и NSTextContainer являются уровнем контроллера, а NSTextStorage (изменяемый подкласс строка с атрибутами) является моделью.

Текстовая система какао также взаимодействует с Services для обеспечения функциональности стандартных потоков в среде графического интерфейса пользователя. Пользователи взаимодействуют с двумя классами: NSTextField (предоставляющий однострочные поля редактирования) или NSTextView (обеспечивающий многострочное редактирование). Каждый NSTextField использует совместно используемый экземпляр NSTextView, называемый «редактором поля». Это было сделано для снижения высоких требований к памяти, которые возникли бы, если бы каждое поле реализовало свой собственный граф объектов NSTextView , когда только одно поле может фактически иметь фокус в любое время.

Какао использует множество Emacs сочетаний клавиш, знакомых программистам.

Ссылки
Внешние ссылки
Последняя правка сделана 2021-05-15 13:33:25
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте