这是关于iPhone目标C设计的问题。如何让2个UIViewControllers管理相同的视图?每个UIViewController都会在不同的时间创建,但它们的视图基本相同。
为了帮助解释,这是一个例子:
假设我有一个ViewController同步来自服务器的任务列表,允许用户编辑/删除这些任务,并在视图上显示其他信息(如状态消息)等。在另一个时间,我想要使用相同的视图显示这些任务的“只读”列表(因为视图已经创建,创建了tableView,状态消息文本框就在那里等),但基于不同的东西,我想要这个视图采取不同的行动并更新不同的状态信息。
所以在这个例子中,我想重用视图,但根据用户的位置使用2个不同的控制器。如果他/她处于编辑模式,则显示操作VIEW 1的UIViewController 1.如果他/她处于读取模式,则显示操作VIEW 1的UIViewController 2.
我想知道最好的设计方法,如果这是1.可能或2.我应该只将VIEW 1复制为VIEW 2并让UIViewController 2管理VIEW 2,即使它们完全相同。 / p>
提前感谢您的帮助。
答案 0 :(得分:0)
创建一个基础UIViewController类,每个人都来自。将所有公共接口元素声明(plain ivars或IBOutlets)放在基类中。如果使用InterfaceBuilder,则将文件所有者设为基类。