我根据userdefaults的值设置条件,但条件从未满足?迅速4 Xcode 10

时间:2018-10-09 05:26:44

标签: swift xcode

如标题中所示,我以userdefaults的值作为条件,但条件从未满足,我试图更改位置和名称以及所有内容,但从未成功,这是我的代码

if let UDefault = UserDefaults.standard.value(forKey: "name") as? String {

       // for testing 
        print("from did load \(UDefault)")

        if UDefault == "mike" {

            self.performSegue(withIdentifier: "go", sender: self)
        }

    }

那么简单,我认为在逻辑上是正确的

1 个答案:

答案 0 :(得分:-1)

好的,经过一千次实验,终于找到了解决方法

在viewDidLoad上方声明一个名为loggingKey的变量

然后为userDefaults我将其设置为字符串而不是bool值,并为其指定“是”

UserDefaults.standard.set("yes", forKey: self.loggingKey )

您可以分配任何您想要的 为了检查值,我使用以下代码

if let loginStatus = UserDefaults.standard.string(forKey: loggingKey ) {

        if loginStatus == "yes" {

            performSegue(withIdentifier: "", sender: self)

        }
    }

我希望这将来能对某人有所帮助