gpt4 book ai didi

ios - NSUser 默认没有正确保存?

转载 作者:行者123 更新时间:2023-11-28 06:54:54 24 4
gpt4 key购买 nike

最近我一直在制作一个具有文本字段和标签的练习应用程序。当您在文本字段中输入内容并点击保存时,它应该将标签更改为该文本并保存。它保存的原因是当您打开应用程序时,标签的文本等于您最后保存的内容。如果您在文本框中的新字符串上点击保存,文本将再次保存。

我遇到的问题是,在您保存新内容之前,标签不会与文本一起出现,并且字符串不会保存,因此即使您保存了内容,它们也没有任何内容。

这是我在 ViewController.swift 中的代码:

    //
// ViewController.swift
// Help
//
// Created by Lucas on 9/30/15.
// Copyright (c) 2015 Lucas. All rights reserved.
//

import UIKit

class ViewController: UIViewController {

@IBOutlet var Savedlbl: UILabel!
@IBOutlet var Textfield: UITextField!
@IBOutlet var Label: UILabel!


var current = ""
var Saved = ""

override func viewDidLoad() {
super.viewDidLoad()

let currentDefault = NSUserDefaults.standardUserDefaults()

Savedlbl.text = Saved



if(currentDefault.valueForKey("Saved") != nil)
{
self.Saved = currentDefault.valueForKey("Saved") as! NSString! as String

}
// Do any additional setup after loading the view, typically from a nib.
}
@IBAction func Set(sender: AnyObject) {


setall()


}
func setall()
{
current = Textfield.text!
Label.text = Textfield.text!



let currentDefault = NSUserDefaults.standardUserDefaults()

Saved = (currentDefault.valueForKey("saved") as? String)!
currentDefault.setValue(Saved, forKey: "saved")


Savedlbl.text = Textfield.text



currentDefault.synchronize()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}

这是我认为问题出在 View 确实加载有意义的地方。当应用程序加载时,它不会将其设置为最后保存的内容。

    import UIKit

class ViewController: UIViewController {

@IBOutlet var Savedlbl: UILabel!
@IBOutlet var Textfield: UITextField!
@IBOutlet var Label: UILabel!


var current = ""
var Saved = ""

override func viewDidLoad() {
super.viewDidLoad()

let currentDefault = NSUserDefaults.standardUserDefaults()

Savedlbl.text = Saved



if(currentDefault.valueForKey("Saved") != nil)
{
self.Saved = currentDefault.valueForKey("Saved") as! NSString! as String

}
// Do any additional setup after loading the view, typically from a nib.
}

谢谢,如果您需要更多信息,请告诉我,我会尽快提供!

最佳答案

不要使用 valueForKey/setValue:forKey:。这些是 KVC 方法。您需要 setObject:forKey:objectForKey:

关于ios - NSUser 默认没有正确保存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33923881/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com