私は iphone SDK を使用しており、主に C++ でコーディングしていますが、obj-c で SDK の一部を使用しています。obj-c クラスが必要な状況で C++ クラスを指定することは可能ですか? 例えば:
1) デリゲートを obj-c オブジェクトに設定する場合。
- C++ クラスを Delegate プロトコルから派生させることはできないため、これとおそらく他の理由により、C++ クラスをさまざまな obj-c オブジェクトのデリゲートにすることができません。私が解決策として行うことは、C++ クラスへの ptr を含み、デリゲートとして使用される obj-c アダプター クラスを作成することです (呼び出されたときに C++ クラスに通知します)。C++ クラスへのデリゲート通知を取得する必要があるたびに、これらを記述するのは面倒です。
2) セレクターの設定時
- これは項目 1 と密接に関連しています。たとえば、ボタンの押下や UIView アニメーション機能の setAnimationDidStopSelector など、何かが完了したときにコールバックを起動するように設定したいとします。setAnimationDelegate の関連デリゲートとともに C++ 関数を指定できると便利です。
ええと、これは簡単にはできないと思いますが、もしそうならそれを行う方法、またはそのようなことをより簡単に書く方法について誰か提案があれば、私はそれらを聞きたいです. ありがとう。