Sie können Objective C mit C++ mischen. Benennen Sie einfach Ihre Quelldatei um in .mm
.
Einige Foundation-Klassen wie NSArray und NSSet sind sogenannte "toll-free bridges" zu CoreFoundation-Objekten wie CFArray und CFSet. Letzteres ist eine reine C-Bibliothek, die Sie ohne ObjC verwenden können.
UIKit ist ein reines Objective-C-Framework. Sie könnten UIKit mit C und C++ verwenden, da das Objective-C-Runtime von reinen C-Funktionen wie objc_msgSend
zugänglich ist, z.B.
id UIView = objc_getClass("UIView");
SEL alloc = sel_registerName("alloc");
id view = objc_msgSend(UIView, alloc);
// ...
aber es ist nicht zuverlässig, z.B.
objc_msgSend(view, sel_registerName("setAlpha:"), 0.4);
wird nicht das tun, was Sie möchten.
Sie könnten den UI-Teil isolieren und dafür nur ObjC schreiben. Erstellen Sie eine C-Schnittstelle zwischen der Benutzeroberfläche und dem Backend, für die Sie C++ oder jede (erlaubte) Sprache verwenden können.