Изучите n-уровневые методологии проектирования.
Большинство всех шаблонов предназначены для создания кода, который можно адаптировать к изменениям (и менее подвержен ошибкам).
Преимущество здесь в том, что эти части, абстрагированные от вашего контроллера представлений, обеспечат большую гибкость и в идеале меньше головной боли для поддержки кода. Если ваши требования меняются, или ваши данные, вы должны изменить этот файл. Принимая во внимание, что с изолированным источником данных вы можете в конечном итоге просто изменить этот один файл. Более важно с данными, так как они имеют тенденцию быть внешними и, возможно, созданы какой-то другой сущностью, это часто изменяется. Также может измениться стратегия хранения, вы можете перейти от XML к основным данным, не влияя на контроллер представления, делегат или представления.
Что касается делегата, что, если дизайн изменится, и эти же данные будут повторно использованы в другом месте. Если делегат не привязан к этому контроллеру представления, это становится простым вопросом повторного использования кода делегата, где это необходимо.
Затем добавьте другие усложняющие факторы, может быть, вы подкласс UITableView
. Возможно, вы отображаете одни и те же данные в двух разных местах, и в обоих случаях вы используете подкласс UITableViewCell
. Возможно, требования не относятся к двум разным представлениям, но здесь у этого контроллера представления есть возможность отобразить подробную версию и краткую версию.
Пища для размышлений.