视图关闭后存储sender.tag进度

时间:2019-01-24 08:09:31

标签: swift storage action

我正在编码一个应用程序,其中会弹出一个视图,并带有一个按钮,该按钮每次单击都会执行不同的操作(请参见代码)。但是,关闭视图后,sender.tag的进度会丢失,并且会从头开始。

我真的很高兴能得到社区的帮助!

我的第一个想法是,它与存储数据有关,但是在尝试使用字符串,int等之后,我真的无法弄清楚如何存储sender.tag进度,因此如果视图再次打开,我不必再次浏览所有选项,而只需从我离开的地方开始。

@IBAction func nextTask(_ sender: UIButton) {

        sender.tag += 1

        switch sender.tag {

        case 1: print("Hello")

        case 2: print("Yes")
        default:

            print("The End")
        }

    }

2 个答案:

答案 0 :(得分:0)

如果即使在取消初始化视图控制器后仍需要保存某个值(例如,应用已终止,视图控制器已关闭),则可以将某个键( actionID em>),然后可以通过获取此键的对象来随时随地在应用中获取此值

保存:

UserDefaults

获取:

UserDefaults.standard.set(value, forKey: "key")

var intValue = UserDefaults.standard.integer(forKey: "key")

答案 1 :(得分:0)

您可以尝试在类中创建一个属性,然后使用该属性显示视图

var counter = 0

@IBAction func nextTask(_ sender: UIButton) {
    counter += 1

    switch counter {

    case 1: print("Hello")

    case 2: print("Yes")
    default:
        counter = 0
        print("The End")
    }

}

因此,下次单击该视图上的按钮时,计数器将具有正确的值。