1

コールバック関数が呼び出されたときに変更する必要がある文字列 ivar を持つ目的の c クラスがあります。問題は、コールバックが c++ にあるため、その c++ 関数で object-c クラスの ivar にアクセスできないことです。コールバックは、変更できない C++ でなければなりません。これを行う方法は他にもあることを認識しています。つまり、その関数によって設定され、クラスによって読み取られるグローバル変数、または関数と文字列を含み、目的の c クラスのメンバーであるラッパー C++ クラスです。ただし、コールバック内で ivar を設定するだけが、最も簡単でクリーンな方法だと思います。そのようなことを行う方法を知っている人はいますか?

4

2 に答える 2

1

私はObjective-Cクラスでgetter/setterを使用し、それをコンテキスト情報として関数に渡します。

于 2010-08-06T20:24:19.173 に答える
0

これは、同じコードで c++ と目的の C をコーディングする必要があるようです

そのため、ファイルの拡張子を .mm として追加するだけで、c++ と目的の c を簡単に記述できます。

于 2010-08-09T11:35:09.927 に答える