非常基本的问题,我似乎无法找到答案。
所以这是交易:我有一个UI,我想在几个接口中重用。特别是,它应作为子视图包含在作为导航堆栈一部分的父视图中,但也可用作独立模式视图。有问题的子视图只是一个自定义的UITableView,其数据绑定方法由子控制器实现。
子视图应该绑定到一个特定的模型对象,它从中获取所有数据。换句话说,它的控制器基于该目标模型对象为UITableViewDataSource实现必要的数据绑定方法。
我很明显需要创建一个控制器来表示这个可嵌入的子视图,因为这些数据绑定方法的实现在所有实例中都是相同的,但是看起来在iOS 5之前(我目前需要支持iOS) 4+)强烈建议不要在其他视图控制器中嵌入视图控制器。
这完全违反了Apple 所谓在Cocoa中使用的MVC模式(我仍然不相信它们实现的是MVC)。如果我不允许嵌入子视图控制器,我应该如何在不同的父接口中重用我的子视图控制器的数据绑定/模型逻辑?
答案 0 :(得分:1)
您可以创建控制器类(只是常规NSObject
子类)而不是使用视图控制器来提供数据,并为需要嵌入子视图的每个视图控制器实例化
编辑:所以你会做[[MyController alloc] initWithTableView:tableView]
之类的事情。