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
块之前打印用户名,看看用户名是否包含您需要显示的值。