1

我正在尝试将 cpp 代码与 Objective-C 集成。在某些时候,我想在 cpp 中使用 NSObject 实例,如下所示:

class Data
{

    NSObject* mParent;

    public void SetParent(NSObject* parent)
    {
        mParent = parent;
    }

    public void SayHello()
    {
         [mParent sayHello:@"World"];
    }
};

有可能这样做吗?

4

2 回答 2

2

这样做完全有可能,但您必须将代码编译为 Objective-C++,而不是 C++。ARC 还要求您手动管理结构和 POD 类中指针的内存,因此需要(即使没有警告您也建议)使用__unsafe_unretained.

于 2013-10-02T05:40:01.013 回答
1

这种集成程度只能通过将其设为Objective-C 类并使用Objective-C++(即将文件扩展名更改为.mm.)来实现。

你永远不可能有一个 C++ 类以这种方式调用 Objective-C。

于 2013-10-02T05:46:18.063 回答