就像在上一个应用程序中一样,我的应用程序也有一些部分,它们的底部有一个按钮(基本上是一个自定义的选项卡栏),可以触发主屏幕大区域内容的切换。一个是地图视图,一个是表视图,一个是网格视图,用三种不同的方式查看相同的对象。
在我的上一个应用程序中,我让每个内容选项都是一个单独的视图,由单独的视图控制器管理。这很管用,但有些地方很尴尬。在这些VCs之间传递数据有点棘手(尤其是向上游传递),例如,我的嵌套视图控制器无法访问self.navigationController,这让我完全困惑。可以说,我现在知道如何使用这个方案(我也知道),但我对更好的方法感兴趣。
我现在在想,也许整个东西应该是一个视图控制器,它应该有单独的顶级UIView对象,当单击底部的选项卡时,它可以交换这些对象。
问题是,我的两个嵌套视图上都有表。因此,我需要编写非常复杂的UITableViewDelegate方法来找出我要讨论的表,或者创建单独的UITableViewController子类来管理我的表数据。不管是哪种方式,这都消除了我希望通过在一个视图控制器中实现的大多数简单性。
另一件事是,让那些内容视图成为同一视图控制器中的uiview会产生一些影响。没有加载时间来交换视图,但如果用户从未访问过一个或多个视图替代项,我会烧掉不需要的内存。
思想?