【发布时间】:2023-03-29 20:13:02
【问题描述】:
我正在使用 NSURLSession 连接到数据库。
我已经在 Windows 的 C++ 中实现了这个功能,并试图让它在 iOS 上也能工作。
我有一个从基础派生的 .h 文件C++ 类是我的 .mm 文件的头文件。
如果我是正确的,我必须在 C++ 中实现我的 .h 文件中的所有函数。
但是 NSURLSession 是一个 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.
该接口具有我试图从中调用的 -(bool)NSConnect(在@implementation 中实现):
void Connect()
{
[PrivateNSURLSessionDelegate NSConnect];
//This however gives me the error: +[PrivateNSRLSessionDelegate NSConnect]: unrecongnized selector sent to class
}
我也尝试过使用我的 C++ 对象
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? -
我检查了三次。哈哈。它是一个 .mm :)。
标签: ios objective-c nsurlsession nsurl objective-c++