返回时如何记住ViewController的上一个活动?

时间:2019-02-21 14:05:38

标签: ios swift uiviewcontroller viewdidload viewdidappear

我将尝试对此进行详细介绍,希望你们中的一个能帮助我。

我有一个家庭VC,其中两个列表彼此堆叠,列表#1始终显示在顶部。但是,如果我单击列表#2并导航到该列表中的任何部分,当我返回到Home VC时,将显示列表#1,而不是最后一个被单击的列表(列表#2)。

我该怎么做,以便HomeVC根据我上次单击的哪个显示列表#1或列表#2?

1 个答案:

答案 0 :(得分:0)

在两个列表的点击操作中,您都可以执行以下操作:在第一个列表上单击时,将其设置为true;在第二个列表上单击时,将其设置为false

UserDefaults.standard.set(true, forKey: "List1") //Put this when you tap the first list
UserDefaults.standard.set(false, forKey: "List1") //Put this when you tap the second list

然后在willAppear方法上,您可以执行以下操作

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    if(UserDefaults.standard.bool(forKey: "List1")) {
       //You tapped List1
    } else {
       //You tapped List2
    }
}

希望这会有所帮助