1

搜索了其他问题,但仍然没有答案......需要一些建议。我正在将我的代码从另一个平台移植到 iOS。我在 C++ 中有一个 MVC 主干:模型的 CData。CController 为控制器。

  • CController 创建一个 CData 实例
  • CController 创建 CView 的实例
  • CController 继承自 CNotifications 抽象
  • CController 将“this”传递给 CView 的构造函数
  • CView 期望 CNotifications* 在构造函数中,这就是 CView 如何在一些重要事件上调用控制器而不实际知道 CController 本身

在 Windows 上,CView 将简单地访问 GDI 以绘制所需的任何内容。

现在我将所有这些移植到 iOS 上。CData 和 CController 完全独立于平台,所以一切都很清楚。我打算通过 iOS 重新实现 CView。这就是问题所在。

一开始,我希望我的 ios ViewController(xib 的所有者)只是从 CView 继承并实现所有 CController 需求。但后来我注意到 Obj-C 中没有多重继承,并且 ViewController 已经从 UIViewController 继承。

所以看来我需要以这样一种方式实现 CView,它有一个指向 ViewController(xib 的所有者)的指针。

问题是:如何很好地将指向 ViewController 的指针传递给 CView?

我计划 ApplicationDelegate 创建 CController,它将创建 CData 和 CView。我不希望 CController 接收指向 ViewController 的指针,然后将此指针进一步传递给 CView - 我希望 CController 保持可移植性......

有各种各样的事情浮现在脑海,但我希望能找到一种被广泛接受的方法

提前致谢

4

1 回答 1

0

好的,我通过简单地让 ViewController 创建我的业务逻辑的 Controller 和 View 并将 View 传递给 Controller 来解决这个问题

于 2012-09-26T13:29:20.603 回答