【问题标题】:Uncaught Exception Saving String NSUserDefaults [Swift]未捕获的异常保存字符串 NSUserDefaults [Swift]
【发布时间】:2015-05-07 17:43:37
【问题描述】:

我正在尝试从文本字段中保存输入的字符串并使用 NSUserDefaults 加载保存的值。当我运行我的代码时,当我点击“saveScore”按钮时应用程序崩溃了。我的错误消息是“以未捕获的异常终止”,但我找不到真正的错误。

class ScoreViewController: UIViewController {

    @IBOutlet weak var loadDataButton: UIButton!
    @IBOutlet weak var mathScore: UITextField!

    @IBOutlet weak var testMath: UILabel!
    @IBOutlet weak var saveScore: UIButton!

    @IBOutlet weak var displayDataLabel: UILabel!


    override func viewDidLoad() {
        super.viewDidLoad()

    }

    @IBAction func saveDataClicked(sender: AnyObject) {
        saveData()
    }


    func saveData() {

        let defaults = NSUserDefaults.standardUserDefaults()

        let latestScore = mathScore.text

        defaults.setObject(latestScore, forKey: "12/1")

        defaults.synchronize()

    }


    @IBAction func loadDataClicked(sender: AnyObject) {
        var defaults: NSUserDefaults = NSUserDefaults.standardUserDefaults()

        if let firstNameIsNotNill = defaults.objectForKey("12/1") as? String {
            self.displayDataLabel.text = defaults.objectForKey("12/1") as String
        }
    }

【问题讨论】:

  • 看来问题不在于 NSUserDefault,我运行你的代码。
  • 我应该如何解决我的问题?
  • 你为什么拿走所有弱的IBOutlets?让他们变得坚强并尝试。
  • 我检查了我的连接,结果发现我的 saveScore 和 loadDataButton 连接不好。我删除并重新创建了连接,但连接仍然很糟糕。有什么想法吗?
  • 我通过重新启动 xCode 解决了我的问题 - 连接不会保存,直到我重新启动程序。谢谢!

标签: ios xcode swift nsuserdefaults uncaught-exception


【解决方案1】:

重启 XCode 解决了这个问题!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-07
    • 1970-01-01
    相关资源
    最近更新 更多