Iphone 选项卡栏、导航栏和导航栏的设计问题;段控制

Iphone 选项卡栏、导航栏和导航栏的设计问题;段控制,iphone,ios,uitableview,uinavigationcontroller,uitabbarcontroller,Iphone,Ios,Uitableview,Uinavigationcontroller,Uitabbarcontroller,这与其说是个问题,不如说是个要求。 有一个选项卡栏控制器,在选项卡栏控制器的一个控制器中有一个导航控制器。下面是一个段控件,我必须在表视图中显示一些数据(通过URL连接获取)。从段控件更改段时,表的内容将更改。段控件会更改表中显示的数据类型,即使UITableViewCells也会有所不同。所有三个段都将在表中显示数据 一种可能的解决方案是更改数据,并在更改段时重新加载表。 另一种解决方案是在更改线段时更改视图(将有三个不同的视图控制器),这些视图控制器将实现自己的表委托,并具有独立的表视图

这与其说是个问题,不如说是个要求。 有一个选项卡栏控制器,在选项卡栏控制器的一个控制器中有一个导航控制器。下面是一个段控件,我必须在表视图中显示一些数据(通过URL连接获取)。从段控件更改段时,表的内容将更改。段控件会更改表中显示的数据类型,即使UITableViewCells也会有所不同。所有三个段都将在表中显示数据

一种可能的解决方案是更改数据,并在更改段时重新加载表。 另一种解决方案是在更改线段时更改视图(将有三个不同的视图控制器),这些视图控制器将实现自己的表委托,并具有独立的表视图

我想第一个更有效。第二种方法将所有内容(代码)与不同的段分开。但也存在一些问题,导航控制器无法在内部视图控制器中访问

有谁能为我推荐最好的解决方案吗?
感谢adv.

我对此进行了大量研究,最终决定更改单个TableView的数据源。我只有两个片段,单元格类型,FetchedResultsController等等,它仍然是一个非常沉重的定制TableViewController。如果需要的话,懒散地加载图像也有点痛苦


我不需要为各个表视图设置导航控制器的句柄,但是如果这对您很重要,那么第二种方法可能是最好的。尽管有上述情况,但第一种方法的效果相当好。有兴趣听到任何更好的模式。

如果您在代理单例中保留对导航控制器的引用,则可以访问内部VCs中的导航控制器。我做了一些非常类似的事情(在某种程度上,选项2为每个表使用单独的VCs),看起来很糟糕,我认为最好的方法是为每个表使用不同的数据源,但是单独的控制器工作得很好。切换数据源可能是最好的选择。在应用程序上切换视图控制器可能会非常麻烦,就效率而言是的,我更喜欢第二个选项,但问题是,在我使用外部导航控制器弹出后,我不会在内部VC中显示对视图的调用。你能详细说明一下使用不同的数据源吗。