3

Swift でゲームを作成しようとしていますが、NSUserDefaults に保存されるユーザー名を作成する機能を追加したいと考えています。これは私のコードです:

println("Textfield Text: \(usernameTextfield.text)")

NSUserDefaults.standardUserDefaults().setObject(usernameTextfield.text, forKey:"Username")
NSUserDefaults.standardUserDefaults().synchronize()

println(NSUserDefaults.standardUserDefaults().objectForKey("Username") as? String)

出力は次のとおりです。

テキストフィールド テキスト: MyUsername

なし

nil を出力している理由について私が見ることができる唯一の説明は、ユーザー名の保存または読み込みが失敗していることです。これを修正できる方法はありますか、それとも何か間違っていますか?

どんな助けでも大歓迎です!

4

5 に答える 5

8
println("Textfield Text: \(usernameTextfield.text)")

var myValue:NSString = usernameTextfield.text

NSUserDefaults.standardUserDefaults().setObject(myValue, forKey:"Username")
NSUserDefaults.standardUserDefaults().synchronize()

var myOutput: AnyObject? = NSUserDefaults.standardUserDefaults().objectForKey("Username")
println(myOutput)
于 2014-06-06T03:11:49.840 に答える
0

Swift 2.0 と Xcode 6.4 を使用して、Roman の回答に小さな変更を加えました。

保存:

    var myValue:NSString = usernameTF.text

    NSUserDefaults.standardUserDefaults().setObject(myValue, forKey:"Username")
    NSUserDefaults.standardUserDefaults().synchronize()

取得:

var myOutput = NSUserDefaults.standardUserDefaults().objectForKey("Username")
if (myOutput != nil)
{
    self.title = "Welcome "+((myOutput) as! String)
    }
于 2015-09-03T07:08:16.803 に答える
0

Swift 3.0の場合、次の方法でユーザーのデフォルトを作成できます。

UserDefaults.standard.set("yourValue", forKey: "YourString")

値をコンソールに表示するには:

print(UserDefaults.standard.string(forKey: "YourString")!)
于 2016-11-24T09:15:14.160 に答える