首页 > 解决方案 > 在这里,我试图将数据存储在 Swift4 的文本文件中,但它不起作用

问题描述

在这里,我只是想向文件中插入一个测试字符串,但它没有写任何东西,甚至没有向我显示任何错误。

import UIKit

class SecondViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
    }

    @IBOutlet weak var task: UITextField!

    @IBAction func addTaskClicked(_ sender: Any) {

        if(task.text != ""){
            todo.append(task.text!)
            task.text = ""
            var newString = "Testing"
            do {
                try newString.write(to: Bundle.main.url(forResource: "todoList", withExtension: "txt")!, atomically: true, encoding: String.Encoding.utf8)
            }catch let error as NSError{
                print("\(error)")
            }
        }
    }
}

标签: swiftxcodefile

解决方案


我认为你不能这样做,如果你需要保存一个字符串,你可以连接到数据库/api,或者你可以在用户默认值中保存东西:

    let defaults: UserDefaults = UserDefaults.standard

    defaults.set("what you want to save", forKey: "key")

你得到它是这样的:+

编辑感谢@vadian

    if let data = defaults.object(forKey: "key") {
        //do whatever you need to do
    }

我真的不认为在文件中写东西是制作 TODO 列表的最佳方法,对存储的信息做任何事情都会比它应该做的更烦人。


推荐阅读