1

我有一个视图控制器(A),它显示了从服务器下载的项目列表。

我有另一个带有分段控制的视图控制器(B)。
When second index of segmentedControl is selected, the view controller(B) shows a list of items in the same format as in the controller(A).
When first index of segmentedControl is selected, the view controller(B) shows the items in different format.

我希望 A 和 B 共享共同内容的代码。

我首先认为可以将所有与视图相关的代码移动到“common_view 类”并使用两个控制器中的视图类。
但是,事实证明有些代码与视图无关(例如从服务器下载东西,这是 mvc 模式的控制器部分)。

现在我很困惑,“共享控制器部分代码是个好主意吗?甚至可能吗?”

我可以将公共代码分解为 commonViewController,并从控制器(A)和控制器(B)实例化它,并将 commonViewController.view 添加为子视图。
但这真的可取吗?或者你有什么更好的方法来做到这一点?

4

1 回答 1

0

是的,当然..你可以。在这种情况下使用两个 NIBS。第一个 NIB 将由 ViewController A 和 ViewController B 的第一段使用。在 ViewController B 中选择第二段时 addSubView 的 viewControllerA 的 initsWithSecondNiB 名称。一旦你添加了它们, 在 vi​​ewcontrollerB 的两个段之间切换时通过显示/隐藏来控制它们的可见性

于 2012-10-30T14:06:31.140 回答