2016-05-22 10 views
0

usernameLabel.textをNSUserDefaultsに保存されているloggedInに設定しようとしています。 私はNSUserが正しい文字列を持っていることがわかりますデバッグするときは、ここでのコードは次のとおりです。Swift Label.text = NSUserDefaults

@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クラスを持っているコードについてのthats。私のsignupクラスで私は次のようにemを格納します:

NSUserDefaults.standardUserDefaults().setObject(userName, forKey: "userName"); 
NSUserDefaults.standardUserDefaults().synchronize(); 
+0

ユーザーのデフォルトでユーザー名をどのように保存していますか? – Abizern

+0

はNSUserDefaults.standardUserDefaults()を使用しています。setObject(userName、forKey: "userName"); – JohanDoe

+0

userdefaultsに適切な値を格納していれば、コードはうまくいくはずです。あなたがやろうとしていることのいくつかのコードを投稿してください。 – ebby94

答えて

0

あなたのコードは正しいです。ストーリーボードまたはXibのUILabelでコンセントを正しく設定しないと問題が発生することがあります。とにかくprint()を使ってあなたのラベルの近くにチェックしてください。これをコードの下で試してください。

if(username != nil) { 
self.usernameLabel.text = "\(username)"; 
print("UserName:\(username)") 
} 
-1

これは簡単ですが、強制する必要があります。使用方法:

NSUserDefaults.standardUserDefaults().stringForKey("userName") 

オプションのオブジェクトが表示されます。あなたが望むように正しい文字列を取得するには、実行する必要があります。あなたNSUserDefaults.standardUserDefaults上のユーザ名として保存されているものの内容を文字列を与える

let username = NSUserDefaults.standardUserDefaults().stringForKey("userName") as String! 

を。

0

あなたのコードは完璧です。 それは私のために働くことがわかります。あなたのコードの

Code Image

出力。 1. InSimulator印刷

Output1

を2.Using

output

は、プロジェクトをきれいにし、あなたのアプリケーションを再実行するか、forKey値を変更してください。

関連する問題