代码之家  ›  专栏  ›  技术社区  ›  Dan Ray

复杂布局的ViewController设计问题

  •  0
  • Dan Ray  · 技术社区  · 14 年前

    就像在上一个应用程序中一样,我的应用程序也有一些部分,它们的底部有一个按钮(基本上是一个自定义的选项卡栏),可以触发主屏幕大区域内容的切换。一个是地图视图,一个是表视图,一个是网格视图,用三种不同的方式查看相同的对象。

    在我的上一个应用程序中,我让每个内容选项都是一个单独的视图,由单独的视图控制器管理。这很管用,但有些地方很尴尬。在这些VCs之间传递数据有点棘手(尤其是向上游传递),例如,我的嵌套视图控制器无法访问self.navigationController,这让我完全困惑。可以说,我现在知道如何使用这个方案(我也知道),但我对更好的方法感兴趣。

    我现在在想,也许整个东西应该是一个视图控制器,它应该有单独的顶级UIView对象,当单击底部的选项卡时,它可以交换这些对象。

    问题是,我的两个嵌套视图上都有表。因此,我需要编写非常复杂的UITableViewDelegate方法来找出我要讨论的表,或者创建单独的UITableViewController子类来管理我的表数据。不管是哪种方式,这都消除了我希望通过在一个视图控制器中实现的大多数简单性。

    另一件事是,让那些内容视图成为同一视图控制器中的uiview会产生一些影响。没有加载时间来交换视图,但如果用户从未访问过一个或多个视图替代项,我会烧掉不需要的内存。

    思想?

    1 回复  |  直到 14 年前
        1
  •  0
  •   Ole Begemann    14 年前

    问题是,我的两个嵌套视图上都有表。因此,我需要编写非常复杂的UITableViewDelegate方法来找出我要讨论的表,或者创建单独的UITableViewController子类来管理我的表数据。

    在这种情况下,应该延迟加载视图,即在需要之前不要加载任何内容。当你收到记忆警告的时候,释放一些不需要的东西。