假设我有一个具有固定布局的应用程序:一个按钮和几个标签。因为我有相同的按钮和标签,所以在整个应用程序中不使用多个视图控制器是有意义的。我不想复制和粘贴它们,因为它们的外观和风格永远不会改变。如果我稍后决定改变它们的外观,我将不得不经历每一个视图控制器,这是一个不好的做法(就像复制和粘贴代码一样)。iOS应用程序的结构
虽然,我希望能够让用户回去转发“布局”的应用程序,但是这个代码没有让我这样做:
class MyViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
enterFirstLayout()
}
func enterFirstLayout() {
// do things such as change labels' text property
exitFirstLayout()
}
func exitFirstLayout() {
// do things
enterSecondLayout()
}
func enterSecondLayout() {
// ...
}
}
我能做些什么,以避免产生多个视图控制器,并让用户可以跳过并返回到应用程序的特定布局?
你应该解耦你的应用程序的固定*布局*(演示文稿)与*内容*是呈现。您可以只保留一个视图控制器类,但会使该类的多个实例呈现不同的数据。 – jtbandes
这很有趣,谢谢@jtbandes。如果一个布局与其他布局有些不同,会怎么样?假设我只需要在一种布局中调用一个函数,而不是其他函数。 – Cesare
您提出的问题对于很好的答案太模糊。这可能与你的问题不是100%相关,但我会建议探索[ResearchKit](http://researchkit.org/docs/index.html)的设计,该设计有一个“步骤”和“任务”的概念,可能与你正在做的事情有些相似。 – jtbandes