搜索了其他问题,但仍然没有答案......需要一些建议。我正在将我的代码从另一个平台移植到 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 保持可移植性......
有各种各样的事情浮现在脑海,但我希望能找到一种被广泛接受的方法
提前致谢