gpt4 book ai didi

c++ - 如何在 C++ 应用程序中处理指向 Objective-C 对象的指针

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:14:30 28 4
gpt4 key购买 nike

我有一个 C++ 应用程序,它使用用 C/C++ 编写的第三方库。该库包含一个返回指向 NSWindow 指针的函数,即来自 Cocoa Framework 的 Objective-C 元素。

在我的代码中,我调用了该函数,但在继续之前,我必须对该 NSWindow 执行非常小的操作(例如更改标志或其他内容)。换句话说,我必须在 C++ 上下文中调用 Objective-C 对象的 Objective-C 方法。您认为最好/正确的方法是什么?

最佳答案

您可以使用 Objective-C++ 文件 (.mm),在其中您只需像使用 lambda 一样使用 block :

//In an .mm file
auto changeFlag = ^(/* your params */ ) {
[yourObjCObject yourObjCMethod];
};

然后您可以将该回调作为 std::function 传递给 C++ 上下文并在那里调用它。

关于c++ - 如何在 C++ 应用程序中处理指向 Objective-C 对象的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35673628/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com