假設我有一個具有固定佈局的應用程序:一個按鈕和幾個標籤。因爲我有相同的按鈕和標籤,所以在整個應用程序中不使用多個視圖控制器是有意義的。我不想複製和粘貼它們,因爲它們的外觀和風格永遠不會改變。如果我稍後決定改變它們的外觀,我將不得不經歷每一個視圖控制器,這是一個不好的做法(就像複製和粘貼代碼一樣)。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