私のアプリでは、JavaScriptCore
APIを使用して、私のCocoaクラスにCコールバックを持つWebViewコンテキストにJS関数をインストールします。今すぐコールバックを渡すことができる方法はありませんuserData
/refcon
コールバックがどのクラスに属しているかを知るためのポインタ。クラスポインタのないCコールバック
ポインタを渡さずにこれを解決する方法はありますか?グローバルは他のクラスインスタンスによって上書きされるため動作しないようです。
私のアプリでは、JavaScriptCore
APIを使用して、私のCocoaクラスにCコールバックを持つWebViewコンテキストにJS関数をインストールします。今すぐコールバックを渡すことができる方法はありませんuserData
/refcon
コールバックがどのクラスに属しているかを知るためのポインタ。クラスポインタのないCコールバック
ポインタを渡さずにこれを解決する方法はありますか?グローバルは他のクラスインスタンスによって上書きされるため動作しないようです。
(複数/同時呼び出しの可能性が高いため)グローバルが機能しない場合は、何らかのコンテキスト情報が必要です。
APIがセッション#、割り当てられた構造体、なんらかの一意の識別子を返す場合は、その識別子と必要なObjective-C GoopをマッピングするNSMapTableを設定できます。
JSContextRefは、ドキュメントのすばやくスキミングに基づいて使用することになります。 – Tommy
私はちょうど 'NSMutableDictionary'を設定し、' NSValue'sでラップされた 'JSObjectRef'ポインタをキーとして使うだけです。 –
WebScriptingプロトコルを試してみたいと思うかもしれませんが、これは非常に簡単です。;-) –