gpt4 book ai didi

c++ - Cocoa 和 Objective-C++

转载 作者:行者123 更新时间:2023-11-30 01:32:08 24 4
gpt4 key购买 nike

我想我了解 Objective-C++ 与 Cocoa 的工作原理,并且我相当精通命令行 C++ 的基础知识,但有点不敢尝试将其与 Objective-C 混合使用。我可以在 Xcode 中使用 Interface Builder 创建一个 GUI,甚至可以自动为界面创建类(.h 和 .m 文件)。 socket ,也许是 Action (我仍然感到困惑)让大括号保持打开状态以放入您自己的代码。所以我可以将 C++ 代码放在这些括号中以从这些按钮获取输入(并查看输出等) ?

我想如果是这种情况,只要知道将 C++ 代码放在哪里,就不必学习任何 Obj-C!我错了吗?

此外,任何人都可以帮我解决这个问题,或者至少指出我可以了解更多信息的地方吗?这个主题在网络上相当稀缺,我不了解 Apple 的文档。

最佳答案

我的建议是在您的项目中包含 Objective-C 文件(.m 文件),然后将您的 Objective-C++ 保存在单独的文件中(如 diciu 提到的,.mm 文件)。

一种策略是将这些 Objective-C++ 类简单地用作 C++ 类的包装器:用 C++ 编写代码,像往常一样在 .cpp 文件中。然后,当您需要从 Objective-C 文件访问 C++ 的某些功能时,编写一个包装器 Objective-C++ 类并从您的 Objective-C 调用它。

最后一点感觉对于小项目来说工作量很大,确实如此,但是如果你需要使用大量的 C++,并且要编写的 Objective-C 相对较少,那么这很有效. (想象一下你正在为一个结构良好的 Windows 或 Linux 程序编写 Cocoa 界面的情况:所有应用程序逻辑都是以平台不可知的方式编写的,你“只”必须在 Cocoa 中编写 UI 才能让它运行在 Mac 上。

但是,采用这种包装方法的另一个原因是 Objective-C++ 是一种混合语言,因此在两个方向上它的能力都有局限性。

关于c++ - Cocoa 和 Objective-C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2071102/

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