在横向和纵向视图控制器之间共享数据的最佳技术,用于不同的设备方向

时间:2014-01-08 12:07:13

标签: ios objective-c

我们想使用两个视图控制器,一个用于纵向(tableview),另一个用于横向(mapview)。

我们可以使用协议/委托技术在不同方向之间共享数据。相同的数据将根据设备方向显示在tableview或地图视图中

请建议使用不同的技术在视图控制器之间共享数据以进行方向更改。

3 个答案:

答案 0 :(得分:1)

您应该将模型与视图分开。我还建议使用 base ViewController来处理数据(它也可能有公共properties/ivars)。在该基本视图控制器中,您可以处理修改/检索数据。从该基本控制器开始,另外两个将继承部分实现以及接口。这可以帮助您避免代码重复,并且您可以提供一个很好的界面(甚至由您自己的协议定义)。进一步的变化将更容易采用:)

答案 1 :(得分:0)

使用单独的Controller--一个ViewController类或一个NSObject类,它可以充当两个ViewControllers的主控制器。此外,您还可以创建一个Model类来表示数据。

主控制器为另外两个控制器提供此模态对象

答案 2 :(得分:0)

在我看来,对于您的场景,您应该将数据模型类分开并使用 Singleton 模式。相同的数据模型对象应该用于两个ViewControllers。