我在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")
}
}发布于 2017-08-25 17:15:16
你应该使用下面的代码进行验证,首先删除应用程序,然后再安装。然后使用,你将获得成功。
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"https://stackoverflow.com/questions/45877572
复制相似问题