Я делаю приложение, в котором многие View Controllers
будут иметь одинаковый набор UIViews
. Я пишу пользовательский интерфейс в коде и не хочу переписывать один и тот же код снова и снова. Каждый ViewController будет иметь одну и ту же главную кнопку и кнопку возврата, а затем у некоторых из них будет повторяться другой набор меток. Мне было интересно, какой подход должен быть лучше для меня, используя Наследование UIViewControllers
, например:
VC1: UIViewController with main button and back button
VC2: VC1 with added labels
VC3: VC1 with added other labels
Или мне следует использовать протоколы для добавления таких меток:
protocol HasLabels {
var label1: UILabel { get set }
var label2: UILabel { get set }
func setupLabels()
}
extension HasLabels where Self: VC1 {
func setupLabels() {
self.view.addSubview(label1)
self.view.addSubview(label2)
// setting up constraints
}
}
Или следует ли мне просто настраивать представления в каждом UIViewController отдельно и не усложнять это?