gpt4 book ai didi

ios - 滑动删除功能插入包含Core Data

转载 作者:行者123 更新时间:2023-11-29 05:08:16 24 4
gpt4 key购买 nike

我正在尝试做一个简单的名单应用程序。我看过这个视频并复制了所有内容(https://www.youtube.com/watch?v=tP4OGvIRUC4)我现在想添加滑动删除功能。它按照我希望的方式工作,但是当我关闭并重新打开应用程序时,它会像以前一样。我尝试了不同的方法,但没有成功。

有人有什么想法吗?

来自瑞士的问候

这是我的 View Controller :

import UIKit
import CoreData

class ViewController: UIViewController {

@IBOutlet weak var tableView: UITableView!

var people = [Person]()

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

let fetchRequest: NSFetchRequest<Person> = Person.fetchRequest()

do {
let people = try PersistenceServce.context.fetch(fetchRequest)
self.people = people
self.tableView.reloadData()
}catch{}
}

@IBAction func onPlusTapped() {
let alert = UIAlertController(title: "Add name", message: nil, preferredStyle: .alert)
alert.addTextField { (textField) in
textField.placeholder = "Name"

}
let action = UIAlertAction(title: "Add", style: .default) { (_) in
let name = alert.textFields!.first!.text!
let person = Person(context: PersistenceServce.context)
person.name = name
PersistenceServce.saveContext()
self.people.append(person)
self.tableView.reloadData()

}
alert.addAction(action)
present(alert, animated: true, completion: nil)
}
}

extension ViewController: UITableViewDataSource {
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return people.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = UITableViewCell(style: .subtitle, reuseIdentifier: nil)
cell.textLabel?.text = people[indexPath.row].name
return cell
}
func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath) {

guard editingStyle == UITableViewCell.EditingStyle.delete else { return }
people.remove(at: indexPath.row)

tableView.deleteRows(at: [indexPath], with: .automatic)
self.tableView.reloadData()
}
}

最佳答案

您只是从本地数组中删除该项目,删除后需要保留更改。

关于ios - 滑动删除功能插入包含Core Data,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59951126/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com