首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >用户默认值,则附加用户每次提交按钮时输入的数字

用户默认值,则附加用户每次提交按钮时输入的数字
EN

Stack Overflow用户
提问于 2019-05-17 03:02:52
回答 1查看 44关注 0票数 0

每次用户按下按钮时,我都会尝试将某些内容附加到数组中,并将其保存为UserDefault。

我可以根据用户输入的内容将文本字段保存为用户默认字段,但保存它并将其附加到我的数组时遇到了问题。

代码语言:javascript
复制
import UIKit

var nums = ["3","4","5"]

class ViewController: UIViewController {
    @IBOutlet weak var text: UITextField!

    @IBAction func submit_button(_ sender: Any) {

        UserDefaults.standard.set(text.text!, forKey: "Submitted")
        // append
        nums.append("\(String(describing: text))")
    }

    override func viewDidLoad() {
        super.viewDidLoad()

        let savedscore = UserDefaults.standard.object(forKey: "Submitted")
        if let saving = savedscore as?
            String{text.text = saving}

    }


}

每次有人在文本字段中提交时,我都会尝试让我的数组变大

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-17 11:25:33

我已经改进了你的代码并解决了你的问题。所以,请继续检查下面的代码,并在评论中分享你的评论。

代码语言:javascript
复制
import UIKit

class ViewController: UIViewController {

    var nums = [String]()

    @IBOutlet weak var textField: UITextField!

    @IBAction func submit_button(_ sender: Any) {

        if let text = textField.text {

            // Append to array
            nums.append("\(text)")

            // Save to User Defaults
            UserDefaults.standard.set(nums, forKey: "NumberOfArray")
            UserDefaults.standard.set(textField.text, forKey: "Submitted")

            // Refresh User Defaults
            UserDefaults.standard.synchronize()
        }

        // Print Updated Data
        print("numbers: \(nums)")
        print("text: \(textField.text ?? "")")
    }

    override func viewDidLoad() {
        super.viewDidLoad()

        let savedscore = UserDefaults.standard.object(forKey: "Submitted")

        if let saving = savedscore as? String
        {
            textField.text = saving
        }

        // Update Array Based on userdefault data.
        nums = UserDefaults.standard.object(forKey: "NumberOfArray") as? [String] ?? []

        // Print Saved Data
        print("numbers: \(nums)")
        print("text: \(textField.text ?? "")")
    }

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56175060

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档