Swift: отображение разных представлений в зависимости от состояния - PullRequest
0 голосов
/ 03 августа 2020

Я создаю приложение, которое отображает изменяющиеся задачи для пользователя (план состоит в том, чтобы показывать одну задачу в день, в настоящий момент она просто отображает случайную задачу при загрузке).

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

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

Должна отображаться только новая задача на следующий день (или любое другое условие).

logi c:

If dailyActivityCompleted = false> показывать ежедневную активность

If dailyActivityCompleted = true> показать "завершенное" представление

Какой лучший способ условно определить, какой контент отображать в одном UIViewController?

Я новичок в Swift, извините, если это basi c вопрос, я искал, но не нашел способа сделать это ...

Спасибо!

1 Ответ

0 голосов
/ 03 августа 2020

Каков наилучший способ условно определить, какой контент отображать в одном и том же UIViewController?

Лучший способ - поддерживать модель данных, которая управляет состоянием приложения, включая список задач, текущая задача, статус завершения и т. д. c. Как только вы это сделаете, задача контроллера представления состоит в том, чтобы убедиться, что его представление отражает модель или, по крайней мере, часть модели, которую он отображает. Каждый раз, когда что-то происходит, что может изменить состояние модели, вы можете попросить контроллер представления проверить модель и обновить себя. Например, если вы используете segue для отображения контроллера успешного представления, вы можете реализовать unwindFromSegue(segue:) для вызова некоторого метода, который проверяет модель и обновляет представление.

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