整数计数器不添加Swift

时间:2017-11-30 20:41:51

标签: ios swift int nsuserdefaults

我要做的是计算用户打开特定视图控制器的次数。

  • 用户首次打开视图时int的初始值为0.
  • 然后我想在“count”中添加+1,然后将该号码保存在“用户默认值”中。
  • 下次打开相同的视图控制器时,将调用“用户默认值”以将当前数字更新为它们到达此视图控制器的累计次数。
  • 用户打开视图控制器5次后,我将显示广告。

然而,“int”的声明不允许我不断添加计数。我必须从0开始,计数永远不会超过1.这是我一直在尝试的代码。

这是我对" int"

的声明
    var userOpenVC: Int = 0

这是我的代码,如果"计数"不等于5然后加1并保存在用户默认值中。

    override func viewDidLoad()
{
    super.viewDidLoad()

    UserDefaults.standard.integer(forKey: "count")

    if (userOpenVC != 5)
    {
        userOpenCategory += 1
        UserDefaults.standard.set(userOpenCategory, forKey: "count")
    }

}

override func viewWillAppear(_ animated: Bool) {

    print(userOpenCategory)

    //THIS WORKS
    if (userOpenCategory == 5)
    {
        adShow.open()
    }
}

1 个答案:

答案 0 :(得分:1)

嗯,您实际上从未使用过您在UserDefaults中保存的值。这会解决它:

override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
userOpenVC = UserDefaults.standard.integer(forKey: "count")
if userOpenVC != 5 { ...