Я сейчас делаю это через 2 метода: setupElements и setupConstrains. В первом описываю и настраиваю все элементы, во втором настраиваю все констрейны. И оба метода вызываю в viewDidLoad или в viewWillAppear
Как это лучше делать с точки зрения огранизации кода? Как принято делать?
Вопрос не в организации кода и его именования - это дело договорённостей в проекте. Дело в разделении ответственностей - тут у тебя, судя по названиям методов всё норм - отдельно настраивается иерархия вью, отдельно layout. Разве что "В первом описываю и настраиваю все элементы" - вот если настройка какого-нить текстфилда занимает не 1-2 строки, то я бы вынес в отдельный метод. Т.е. длинные настройки элементов в отдельных методах. Но вот "И оба метода вызываю в viewDidLoad или в viewWillAppear " - это не хорошо. Вынеси вью в отдельный класс, что бы выглядело как-то так: class ViewController: UIViewController { let contentView = ContentView() // let contentView: ContentUIProtocol & UIView = ContentView() а можно вообще так overrive loadView() { self.view = self.contentView } } protocol ContentUIProtocol { // тут интерфес по которому ViewController будет работать с ContentView } class ContentView: UIView, ContentUIProtocol { // тут содержимое view init() { super.init(.zero) self.setupElements() self.setupConstraints() } func setupElements() { ... } func setupConstraints() { ... } }
Спасибо большое!
Обсуждают сегодня