Ios 简化代码,避免复制和粘贴

Ios 简化代码,避免复制和粘贴,ios,swift,xcode,uitableview,Ios,Swift,Xcode,Uitableview,我开始构建Swift应用程序大约有8个月了,其中一个应用程序的结构非常大,有许多viewControllers和tableview以及navbars 经过几个月的经验,我发现了其他方法来简化事情,通过协议,容器视图等实现更干净的代码 该项目有17个viewControllers,我从Resources文件夹中的公共文件中复制并粘贴了大多数tableview及其UITableViewDelegate和DataSourcenavbars和所有代码及其功能在每个viewController中都是相同的

我开始构建Swift应用程序大约有8个月了,其中一个应用程序的结构非常大,有许多
viewControllers
tableview
以及
navbars

经过几个月的经验,我发现了其他方法来简化事情,通过
协议
容器视图
等实现更干净的代码

该项目有17个
viewControllers
,我从
Resources
文件夹中的公共文件中复制并粘贴了大多数
tableview
及其
UITableViewDelegate
DataSource
navbars
和所有代码及其功能在每个
viewController
中都是相同的,相同的代码重复了一次又一次

是否有一种方法可以实现每个
navbar
的所有
IBOutlets
以及每个
UITableViewDelegate
的所有功能,而不必在每个
viewController
中写入相同的代码


我的猜测是为
tableView
创建一个扩展和全局变量或单例。。但是导航栏怎么办?

听起来你可以创建一个具有所有共享功能和布局的基本视图控制器,所有使用相同表视图和导航栏的视图控制器都可以从该基本视图控制器继承。

不看你的项目就无法回答。。。不管怎样,答案都是基于意见的。@Christian,你应该提供更多信息,至少向我们展示你的
故事板
,以及你项目的目录结构。好的,我已经更新了这个问题,因为它主要是基于意见的。为什么导航栏在代码中而不是在故事板中?请展示一个导航条形码的例子。谢谢,我尝试了你的建议,效果很好。唯一的问题是,当我尝试添加从
baseViewController
继承的新
tableView
时,它不允许我这样做,因为我正在使用
UITableViewDelegate
扩展。但这没什么大不了的,只是想压缩我的代码。