ToDoリストアプリケーションを作成して、1つのビューコントローラにタスクを入力し、別のビューコントローラの配列にデータを保存してテーブルに追加しました。私の唯一の問題は、私がアプリケーションを閉じると、すべての新しいタスクデータがなくなったということです。誰も助けることができますか?swiftを使用してデータを永久に保存する3
私はUserDefaultsを使用しようとしましたが、うまく機能しなかったし、正しく使用しなかっただけです。
これは私が新しいタスクを入力ビューコントローラからのコードです:
@IBAction func addTaskButton(_ sender: Any)
{
if (textField.text != "") {
Task.append(textField.text!)
let task = UserDefaults.standard.set(Task, forKey: "XX")
textField.text = ""
textLabel.text = "SAVED!"
timer = Timer.scheduledTimer(timeInterval: 1.6, target: self, selector: #selector(AddTaskViewController.Hide), userInfo: nil, repeats: true)
textLabel.isHidden = false
}
}
これは私がデータを保存し、テーブル
に配置しようとするビューコントローラからのコードですvar Task = ["Pray", "Code", "Work-Out"]
var School = ["Email Collin College","Email PQC","Create file for all my doccumensts"]
var ShoppingList = ["KD9 Black","RoshRun Black","Nike Huarache Black","White Shirt","Black Shirt", "Black Work Out pnats", "White Socks"]
var Prayer = ["School","Family","Drive & Grace"]
var WorkOut = ["Legs","Caffs","Push Ups","Arms","Chest Press","Squats", "Back"]
class add_Task_TableViewController: UIViewController,UITableViewDelegate, UITableViewDataSource {
@IBOutlet weak var TaskTableView: UITableView!
public func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
{
return (Task.count)
}
public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
{
let cell = UITableViewCell(style: UITableViewCellStyle.default, reuseIdentifier: "Cell")
cell.textLabel?.text = Task[indexPath.row]
return(cell)
}
func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath)
{
if editingStyle == UITableViewCellEditingStyle.delete
{
Task.remove(at: indexPath.row)
TaskTableView.reloadData()
}
}
override func viewDidAppear(_ animated: Bool) {
TaskTableView.reloadData()
}
UserDefaultsを使用すると、正確な問題はどのように直面しますか? – Yuyutsu