Swift Label.text=nsUserDefault
我一直在尝试将我的Swift Label.text=nsUserDefault,swift,nsuserdefaults,Swift,Nsuserdefaults,我一直在尝试将我的usernamelab.text设置为存储在NSUserDefaults中的我的loggedIn名称。 调试时,我可以看到NSUser具有正确的字符串,以下是代码: @IBOutlet weak var usernameLabel:: UILabel! override func viewDidLoad(){ super.viewDidLoad() } override func viewDidApeear(animated: Bool) { let userna
usernamelab.text
设置为存储在NSUserDefaults中的我的loggedIn
名称。
调试时,我可以看到NSUser
具有正确的字符串,以下是代码:
@IBOutlet weak var usernameLabel:: UILabel!
override func viewDidLoad(){
super.viewDidLoad()
}
override func viewDidApeear(animated: Bool)
{
let username = NSUserDefaults.standardUserDefaults().stringForKey("userName")
if(username != nil) {
self.usernameLabel.text = username;
}
}
编辑:这是关于我在ViewController
类中的代码。在我的注册
类中,我将em存储如下:
NSUserDefaults.standardUserDefaults().setObject(userName, forKey: "userName");
NSUserDefaults.standardUserDefaults().synchronize();
你的代码是正确的。问题可能是您在序列图像板或Xib中未正确设置UILabel的出口。无论如何,请在标签附近使用
print()
进行检查。试试下面的代码
if(username != nil) {
self.usernameLabel.text = "\(username)";
print("UserName:\(username)")
}
这很容易解决,你必须强迫它。使用:
NSUserDefaults.standardUserDefaults().stringForKey("userName")
将为您提供一个可选对象。要获得所需的正确字符串,应执行以下操作:
let username = NSUserDefaults.standardUserDefaults().stringForKey("userName") as String!
这将为您提供一个字符串,其中包含NSUserDefaults.standardUserDefaults上存储为用户名的内容。您的代码非常完美。
在这里你可以看到它对我有用
代码的输出。
1.模拟机
2.使用打印
尝试清理项目并重新运行应用程序或更改forKey值。如何在用户默认值中存储用户名?我使用NSUserDefaults.standardUserDefaults().setObject(用户名,forKey:“用户名”);如果在userdefaults中存储了正确的值,那么代码应该可以工作。再发一些你想做的事情的代码。嗯,我找不到任何。setString。?我将为您发布更多代码Ebby。请尝试在
if
块之前打印用户名,看看用户名是否包含您需要显示的值。