2016-12-27 54 views
-2

我開始構建Swift應用程序大約8個月,其中一個具有非常大的結構,其中每個都有許多viewControllerstableViews以及navbars簡化代碼,避免複製和粘貼

後的經驗裏,我通過Protocolscontainer views

該項目有17 viewControllers,我複製並粘貼大部分tableViews與其UITableViewDelegate,發現其他的方式把事情簡單化,實現了更乾淨的代碼DataSource來自Resources文件夾中的常用文件。 navbars及其功能的所有代碼在每個viewController中也是相同的,具有相同的代碼重複一遍又一遍。

有沒有一種方法我可以實現所有的IBOutlets爲每navbar和每個UITableViewDelegate所有功能,而不必寫在每一個viewController相同的代碼?

我的猜測是可能爲tableView創建擴展和全局變量或單例。但navbars呢?

+1

無需看看您的項目就無法回答......無論如何,答案都是基於意見的。 – Moritz

+0

@Christian,你應該提供更多信息,並且至少向我們展示你的'storyboard',以及你的項目的目錄結構。 – aircraft

+0

好吧,我已經更新了這個問題,因爲它主要是基於意見的。 – Christian

回答

1

聽起來就像你可以創建一個基本的視圖控制器與所有共享的功能和佈局和所有視圖控制器,使用相同的表視圖和導航欄可以從這個基本視圖控制器繼承。

+0

謝謝,我嘗試了你的建議,它的工作原理。唯一的問題是,當我嘗試添加一個從'baseViewController'繼承的'tableView'時,它不會讓我這樣做,因爲我在'baseViewController'中爲'UITableViewDelegate'使用'extension'。但是沒什麼大不了的,只是想擠我的代碼。 – Christian