首页 > 解决方案 > Swift:根据条件显示不同的视图

问题描述

我正在构建一个为用户显示不断变化的任务的应用程序(计划是每天显示一个任务,目前它只是在加载时显示一个随机任务)。

流程:用户登录应用程序并被定向到显示日常任务的主屏幕。完成任务后,他单击“标记已完成”按钮,然后以模态方式显示成功屏幕。当用户关闭成功屏幕时,他返回到主屏幕,当前仍显示每日任务。

我想更改主屏幕上的视图,以便从成功屏幕返回时,用户将看到不同的视图,而不是显示之前显示的任务(即一条消息说“您完成了日常任务”) .

新任务只应在第二天(或任何其他条件)显示。

逻辑是:

如果 dailyActivityCompleted = false > 显示每日活动视图

如果 dailyActivityCompleted = true > 显示“已完成”视图

有条件地确定在同一个 UIViewController 中显示哪些内容的最佳方法是什么?

我是 Swift 的新手,如果这是一个基本问题,我很抱歉,我搜索但找不到解决方法......

谢谢!

标签: iosswift

解决方案


有条件地确定在同一个 UIViewController 中显示哪些内容的最佳方法是什么?

最好的方法是维护一个管理应用程序状态的数据模型,包括任务列表、当前任务、完成状态等。一旦有了这些,视图控制器的工作就是确保其视图反映模型,或者至少是它显示的模型的一部分。每当发生可能改变模型状态的事情时,您都可以让视图控制器检查模型并自行更新。例如,如果您使用 segue 来显示成功视图控制器,您可以实现unwindFromSegue(segue:)调用一些方法来检查模型并更新视图。


推荐阅读