C++ は確実に Objective-C コードを呼び出すことができます。通信するコードを .cpp ではなく .mm ファイルに保存すると、Xcode が残りの処理を行います。
.mm ファイルには Objective-C++ コードが格納されるため、機能します。
[編集]
おそらく C++ でいくつかのビジネス ロジックがあり、それを Objective-C の UI と組み合わせたいと思いませんか? ビジネス ロジックはおそらく複数のプラットフォームで共有されているため、すべてのコードを Objective-C++ としてコンパイルすることはできません。
そのため、基本的に Objective-C コードを Objective-C++ ラッパーで「ラップ」できます。
// myUI.h (C++ header)
class myUI {
void doSomething1();
int doSomething2();
}
// main.cpp (C++ code)
int main() {
myUI ui;
printf("%d\n", ui.doSomething2());
ui.doSomething1();
return 0;
}
// myUI.mm (Objective-C++ code)
int myUI::doSomething2() {
return [[MyController sharedController] doSomething2];
}
// myUI.cpp (C++ code)
void myUI::doSomething1() {
printf("Hi!\n");
}