我"继承" Swift中的iOS Xcode项目。我以前从未在Swift中编程或使用过Xcode。我将项目从一个用户帐户复制到另一个用户帐户并将其检入git仓库。
现在我害怕这个(复制,权限?)可能是应用程序无法正确读取其设置的原因。因为UserDefaults.standard.string(forKey: "pref_Foo")
会返回nil
,但在Settings.Bundle's
Root.plist
中显然是pref_Foo
标识符。
该应用程序以前工作过,所以我不知道这突然来自哪里。
由于我对XCode不太熟悉所以我现在所做的就是调试应用程序以查看UserDefaults.standard.string(forKey: "pref_Foo")
是nil
。
我怎么能解决这个问题? 谢谢!
编辑:这是我在ViewController.swift
override func viewDidLoad() {
super.viewDidLoad()
loadSettings()
...
}
func loadSettings()
{
if(UserDefaults.standard.object(forKey: "pref_Foo") == nil)
{
printf("Error")
}
}
答案 0 :(得分:0)
您应该使用以下代码进行验证,首先删除应用并重新安装。然后使用,你将获得成功。
var UserStatus:String {
get{
return UserDefaults.standard.object(forKey: "pref_Foo") as? String ?? "0"
}
set(status){
UserDefaults.standard.set(status, forKey: "pref_Foo")
UserDefaults.standard.synchronize()
}
}
代码的使用如下。
if (UserStatus == "pref_Foo"){
self.logoutSuccess()
} else {
self.loginSuccess()
}
在下面给出的一行代码中更新或设置值非常简单。
UserStatus = "pref_Foo"