私はNSURLSessionを使ってデータベースに接続しています。
これは既にC++ for Windowsに実装されており、iOSでも動作させようとしています。
私の.mmファイルのヘッダーであるベースC++クラスから派生した.hファイルがあります。
もし私が正しいのであれば、私の.hファイルのすべての関数をC++で実装する必要があります。
しかし、NSURLSessionはObjective-C関数です。
C++関数からObjective-Cメソッドを呼び出すにはどうすればよいですか?Objective C++:C++のObjective Cメソッドを呼び出す
私はConnect()と呼ばれるC++関数を持っています。ここでは、allocとinitを持つC++オブジェクトm_Delegateを作っています。
this->m_Delegate = [[PrivateNSURLSessionDelegate alloc] initWihParent:this];
//where PrivateNSURLSessionDelegate is the name of my interface.
インターフェースが持っている - (ブール値)Iから呼び出すしようとしている(@implementationで実装して)NSConnect:私も私のCを使用して、それを試してみました
void Connect()
{
[PrivateNSURLSessionDelegate NSConnect];
//This however gives me the error: +[PrivateNSRLSessionDelegate NSConnect]: unrecongnized selector sent to class
}
は++オブジェクト
void Connect()
{
[m_Delegate NSConnect];
//This gives me a error that is unrecognized selector sent to instance
}
これを行うより良い方法はありますか?私は基本的にObjective-CにすべてのNSURLの処理を依頼し、データをC++に送り返したいと思っています。
私はObjective-Cを完全に新しくしているので、すべてのヘルプは非常に高く評価されるでしょう!ありがとう!
愚かな質問ですが、Objective-C++クラスの拡張子を '.mm'に設定していますか? –
私はこれを3回チェックしました。笑。それは.mm :)です。 – annaisarobot