【问题标题】:iOS and C++ MVC strategyiOS 和 C++ MVC 策略
【发布时间】:2012-07-11 03:49:36
【问题描述】:

我正在编写一个主要是 c++ ios 应用程序。

我正在使用一个 c++ 3d 引擎和一个依赖注入库。我知道我必须做一些可可操作才能将 3d 引擎嵌入到视图中,并且我计划使用 Apple api 进行触摸输入。

为了保持最大的跨平台兼容性,我是否应该使用 MVC 方法——一种处理基本视图嵌入和手势的 Cocoa 方法,另一种处理构成大部分交互和数据的 C++ 方法申请?

是否有一个很好的 C++ MVC 库可以同时处理或非常适合组合使用。

我对这一切都很陌生。 Apple 让使用他们的工具变得很容易,但我真的想让代码跨平台。

【问题讨论】:

    标签: c++ objective-c ios model-view-controller dependency-injection


    【解决方案1】:

    Cocoa Touch 是一个 MVC 框架。 (我假设你正在做一个 iOS 应用程序)。我认为你会创建一个 UIView 的子类来渲染你的 3d 图像并通过 UIViewController 将 3d 引擎的输入和输出粘合到视图。

    由于我从未将 C++ 与 Objective C 一起使用,因此我无法告诉您它是如何完成的。 Objective C 的 Apple 实现不能跨平台移植。您可能需要在库和 Xcode 应用程序之间编写一些 shim 代码并静态链接库。

    此外,如果您正在构建 iOS 应用程序,那么构建应用程序并将应用程序提交到应用商店需要很多细节......

    Xcode 文档是您的朋友。

    【讨论】:

      【解决方案2】:

      您不需要 MVC 方法来使代码跨平台。您只需要隔离 iOS API 调用。我建议在您的引擎和 iOS 之间创建一个接口层(该层将被 Android 等取代......)。有桥接模式http://www.codeproject.com/Articles/890/Bridge-Pattern-Bridging-the-gap-between-Interface 可以解决您的任务。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-07-23
        • 2012-09-05
        • 1970-01-01
        • 1970-01-01
        • 2013-11-15
        • 2010-11-04
        • 2011-07-20
        • 1970-01-01
        相关资源
        最近更新 更多