В первую очередь я могу быть менее полезен: не слышав об этом, согласно его сайту, Scintilla предназначена для win32 и GTK +.Поскольку я считаю, что до сих пор нет собственной версии GTK + для Cocoa, нет способа использовать компонент Scintilla в программе Cocoa.OS X не основана на X11 (или Win32, если на то пошло).
Objective-C добавляет объекты в стиле Smalltalk и динамическую диспетчеризацию для C. Однако это строгий надмножество, поэтому код C может вызываться напрямую,Различные компоненты GUI основаны на динамическом, отражающем характере Objective-C, поэтому не могут напрямую вызывать C-код.Тем не менее, весь инструментарий построен вокруг парадигмы модель-представление-контроллер.Вполне выполнимо спроектировать ваше представление в Интерфейсном Разработчике, написать тонкую оболочку контроллера в Objective-C, которая делает чуть больше, чем вызов соответствующих функций C, и написать вашу модель полностью на C. Код C может вызывать код Objective-C, поэтомуВы можете обернуть столько системных объектов, сколько захотите.
Так что это в значительной степени «да» для вашей второй точки.Также важно то, что, хотя Objective-C возникла из C, Apple сделала C ++ полностью вызываемой (поиск Objective-C ++), так что это тоже вариант.
Стоит обратить внимание на Core Foundation .Изначально OS X поддерживала две среды программирования верхнего уровня - Cocoa и Carbon.Cocoa - это Objective-C, Carbon - это C с кучей устаревших библиотек поддержки (и в настоящее время устарела, 64-битная среда выполнения не предоставляется).Для поддержки обоих из них большая часть функциональности базовой системы предоставляется через интерфейсы C на самом низком уровне, включая все коллекции, строки и другие относительно примитивные объекты.Куча других важных для производительности вещей, таких как Core Text, Core Graphics и т. Д., Также обычно выполняются через прямой интерфейс C, даже если вы в остальном полностью увлечены Objective-C.