iOS: Как уменьшить дублирование раскадровки и кода? - PullRequest
1 голос
/ 08 июля 2020

В настоящее время я разрабатываю приложение «Планирование» для развлечения, и в приложении я хочу иметь шаблоны для определенного дня, которые можно загружать, это уменьшит создание каждого дня с нуля, если есть определенные c вещи. работает ежедневно.

Сейчас моя Раскадровка выглядит так на экране приложения

Я хочу добавить UIButton, который изменит состояние приложения в режим «Шаблон». Оттуда я хотел бы иметь возможность добавлять задачи, как я уже делаю, и сохранять их в файл JSON. Пользователи также смогут «импортировать» свой шаблон в текущий день. Я знаю, как все это сделать, но мне любопытно, как бы я go мог создать это «состояние» Шаблона. Было бы разумнее создать два дубликата Storyboard ViewController с дублированным кодом контроллера? Или это будет считаться плохой практикой? Как я могу переключаться между этим «состоянием шаблона» и «нормальным состоянием расписания»?

Макет состояния шаблона и нормального расписания будет иметь одни и те же элементы пользовательского интерфейса в одном и том же месте. Я очень прошу найти лучший способ решить эту проблему, будь то конкретный шаблон проектирования c или что-то в этом роде.

Спасибо!

1 Ответ

1 голос
/ 08 июля 2020

На мой взгляд, я бы создал отдельную раскадровку для вашего «шаблона», неплохая практика - иметь несколько раскадровок, если они не являются избыточными.

Вы также можете легко использовать существующую раскадровку с UIButton, который изменит «состояние» вашего представления планирования. В этом нет ничего плохого, и многие предложат сделать это таким образом.

Несколько вещей, о которых следует помнить:

-Использование одной и той же раскадровки для разных целей, кроме тех, для которых она предназначена не обязательно лучший подход. Это может привести к путанице, особенно если вы не держите свой код и функции в чистоте и порядке.

-Использование отдельной раскадровки для этого было бы проще, поскольку было бы просто относительно того, для чего предназначена каждая раскадровка . Вы будете меньше запутываться и более эффективно распорядитесь своим временем. Однако это означает, что вам придется управлять совершенно новым контроллером представления и раскадровкой поверх вашего стека. Это означает больше работы и большую кодовую базу. Ключевым моментом является правильное отключение viewController и управление стеком.

ЛУЧШИЙ СПОСОБ

Для вашего представления вы можете использовать файл XIB. Файл xib позволит вам с легкостью повторно использовать одно и то же представление. Динамическое изменение содержимого и функциональности - это предназначение файлов XIB.

Вот несколько ссылок для сбора информации. https://medium.com/better-programming/swift-3-creating-a-custom-view-from-a-xib-ecdfe5b3a960

https://medium.com/@tjcarney89 / whats-a-xib-and-why-would-i-ever-use-one-58d608cd5e9b

https://mobilejazz.com/blog/storyboards-xibs-best-practices/

ПРИМЕЧАНИЕ Использование и создание .xib не очень простое и непростое дело. Если вы новичок в разработке ios, я бы воздержался от этого, пока вы не освоитесь с разработкой. Вы можете потратить больше времени на его настройку, чем при использовании существующей раскадровки или новой

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...