在iOS和Mac OS X应用程序中使用C ++

我在C ++知识方面有点温和,但对Objective-C几乎一无所知。 我正在计划(甚至开始)学习Objective-C,所以我可以尝试编写一些iOS甚至是Mac OS X应用程序,但是我对于目前还找不到的东西感到好奇。

是否可以使用包含UI组件的C ++完全编写iOS和/或Mac OS X应用程序? 如果不可能完全用C ++来完成,那么在多大程度上可以使用C ++?

我还没有看到任何示例说明这些项目。 我打算为iOS和Android编写一些移动应用程序,并且在可能的情况下,我希望将大部分的逻辑放在C ++代码中,以实现最大的可移植性。 我已经知道我可以做到这一点,但我不确定这个程度。

简短的回答,是的。

对于纯粹的C ++,你应该看看QT框架 。
否则,你将很难在UI部分。

但是也要记住Objective-C可以和C ++混合使用。
这就是所谓的Objective-C ++ (.mm文件)。

然后,您可以编写混合使用C ++和Objective-C代码的代码。 有了这个,你可以在Objective-C中使用UI部分(可能会更好,因为它将使用UI组件的原生框架),而C ++中的其他部分则是如此。

如果你已经决定学习Objective-C,但仍然希望用C ++编写一些代码,我会推荐这种方法,而不是纯粹的C ++。

iOS上 ,这也是唯一的方法。 虽然你可以用C ++编写代码,但你必须使用Objective-C来编写UI部分。

编辑

下面是一些开始使用Objective-C ++的链接:

  • Objective-C项目中使用C ++的策略
  • 从C ++到Objective-C
  • CocoaDev

看这个问题

我不知道Mac OS,但是在IOS应用程序中,您可以在逻辑中使用C ++,但是您必须在Objective-C上编写用户界面。

是否可以使用包含UI组件的C ++完全编写iOS和/或Mac OS X应用程序? 如果不可能完全用C ++来完成,那么在多大程度上可以使用C ++?

我认为可以使用纯C ++,如果你想依赖于一些第三部分库,那么是的。

没有第三部分库,你必须使用Objective-C编写所有的UI,其余的你可以使用c ++。

在“Apple LLVM compiler 4.2 – Language”选项下的iOS项目中使用C ++文件的生成设置所需的更改

C ++语言方言:编译器默认C ++标准库:编译器默认

你可以使用Cocos2d-x引擎,为你的iOS应用程序编写纯粹的C ++,包括UI(cocos拥有像button,滚动视图,表视图等基本的UI类 – 但是你需要开发你自己的控制器和使用各种C ++库的模型像Hiberlite,或原始的SQLite等)

Cocos有自己的iOS / MacOS界面(几个基本的.mm目标-c类来设置应用程序的运行循环,比如应用程序委托,或者runloop和绘图循环)

所以你只需用C ++编写你的用户代码