在这里,我试图将数据存储在Swift4的文本文件中,但无法正常工作

时间:2019-12-06 17:47:00

标签: swift xcode file

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

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)")
            }
        }
    }
}

1 个答案:

答案 0 :(得分:1)

我认为您无法做到这一点,如果您需要保存字符串,则可以连接到数据库/ 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列表的最佳方法,它对存储的信息做任何事情都会比原本更烦人。