PersonModel.swift
Code: Select all
class PersonModel: NSObject {
dynamic var name: String?
override init() {
}
init(person: Person) {
self.name = person.name
}
in der Datei ViewController.swift habe ich ein Array „var peopleList = PersonModel“ erstellt und gespeichert Abruffunktion: Ich habe alle meine Daten gespeichert und abgerufen.
Der folgende Teil dient zum gleichzeitigen Löschen bestimmter ausgewählter Zeilendaten aus der Tabelle und den Kerndaten.
//MARK:- UITableViewDataSource
Code: Select all
func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCellEditingStyle, forRowAt indexPath: IndexPath) {
// let deletePerson = PersonModel()
if editingStyle == .delete {
let deletePersonData = peopleList[indexPath.row]
PersonServices.sharedInstance.deletePerson(deletePersonData)
peopleList.remove(at: indexPath.row)
tableView.deleteRows(at: [indexPath], with: .fade)
}
tableView.reloadData()
}
Code: Select all
class PersonServices: BusinessClass {
static var sharedInstance = PersonServices()
func deletePerson(deletePersonData)-> [PersonModel] {
var personModels = [PersonModel]();
let fetchRequest = NSFetchRequest(entityName: PersonEntity)
// let fetchRequest = NSFetchRequest(entityName: PersonEntity)
let predicates = NSPredicate(format: "name == %@", "PeopleList[index]")
fetchRequest.predicate = predicates
let deleteRequest = NSBatchDeleteRequest(fetchRequest: fetchRequest as! NSFetchRequest)
do {
try managedObjectContext.execute(deleteRequest)
} catch let error as NSError {
print("Could not save \(error), \(error.userInfo)")
}
}