如何在目标 c 中将 NSObject 传递给 cpp 代码
How to pass NSObject to cpp code in objective c
我正在尝试将cpp代码与Objective-C集成。在某些时候,我想在 cpp 中使用 NSObject 实例,如下所示:
class Data
{
NSObject* mParent;
public void SetParent(NSObject* parent)
{
mParent = parent;
}
public void SayHello()
{
[mParent sayHello:@"World"];
}
};
可以这样做吗?
这样做是完全可能的,但你必须将代码编译为 Objective-C++,而不是C++。 ARC 还要求您手动管理结构和 POD 类中指针的内存,因此需要(即使没有收到警告也建议您)使用 __unsafe_unretained
标记 Objective-C 指针的类型。
这种
集成级别只能通过使其成为Objective-C类并使用Objective-C++(即将文件扩展名更改为.mm
)来实现。
你永远不能让一个C++类以这种方式调用Objective-C。
相关文章:
- 无法使用犰狳运行编译的 cpp 代码,因为 dyld:库未加载
- 如何大致将 cpp 代码结构转换为 python
- 如何检测 cpp 代码中的 openvino 设备
- Cpp代码故障(显示意外数字)
- CPP代码中出现FileNotFound异常
- 如何在使用模板时将 CPP 代码编译到库文件中
- 编译 cpp 代码
- 为什么我的 cpp 代码显示分段错误
- 由于删除对象而导致的 Cpp 代码主线程冻结可以使用智能指针解决,也可以不使用智能指针来解决
- 使用正在调用TCL脚本的CPP代码的GCC编译
- 错误地将CPP代码与蚊子库一起使用G
- CPP代码方程式返回相同值,无论输入如何
- 更高效的 CPP 代码
- 从 CPP 代码调用 Objective-C 方法
- 这片CPP代码如何转储
- 每当我输入长度为4的字符串时,下面的cpp代码就会崩溃(向量中的malloc失败)
- 在包含 R/Cpp 代码的 R 包中使用 roxygen2 for R 函数
- Opengl cpp 代码可在 Windows 和 Mac 上运行
- XPCOM CPP代码在注册表中找不到现有项
- 使用cpp代码从加载的qml访问qml对象