Вы можете смешивать Objective C с C ++. Просто переименуйте исходный файл в .mm
.
Некоторые базовые классы, такие как NSArray и NSSet, являются бесплатными мостами для объектов CoreFoundation, таких как CFArray и CFSet. Последняя представляет собой чистую библиотеку C, которую вы можете использовать без ObjC.
UIKit - это чистый каркас Objective-C. Вы могли бы использовать UIKit с C и C ++, поскольку среда выполнения Objective C доступна из чистых функций C, таких как objc_msgSend
, например,
id UIView = objc_getClass("UIView");
SEL alloc = sel_registerName("alloc");
id view = objc_msgSend(UIView, alloc);
// ...
но это не надежно, например
objc_msgSend(view, sel_registerName("setAlpha:"), 0.4);
будет не делать то, что вы хотите.
Вы можете изолировать часть пользовательского интерфейса и написать ObjC только для этой части. Создайте интерфейс C между пользовательским интерфейсом и бэкэндом, в котором вы можете использовать C ++ или любые (разрешенные) языки.