udemy profesional español desde curso completo cero ios core-data swift3

español - udemy ios 11 y swift 4 curso completo de cero a profesional



¿Cómo puedo eliminar objetos de los datos básicos en Swift 3? (1)

Verifique este código para operaciones rápidas de datos de 3 núcleos

import CoreData class CoreDataOperations: NSObject { // MARK: Save data func saveData() -> Void { let managedObjectContext = getContext() let personData = NSEntityDescription.insertNewObject(forEntityName: "Person", into: managedObjectContext) as! Person personData.name = "Raj" personData.city = "AnyXYZ" do { try managedObjectContext.save() print("saved!") } catch let error as NSError { print("Could not save /(error), /(error.userInfo)") } catch { } } // MARK: Fetching Data func fetchData() -> Void { let moc = getContext() let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "Person") do { let fetchedPerson = try moc.fetch(fetchRequest) as! [Person] print(fetchedPerson.count) for object in fetchedPerson { print(object.name!) } } catch { fatalError("Failed to fetch employees: /(error)") } } // MARK: Delete Data Records func deleteRecords() -> Void { let moc = getContext() let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "Person") let result = try? moc.fetch(fetchRequest) let resultData = result as! [Person] for object in resultData { moc.delete(object) } do { try moc.save() print("saved!") } catch let error as NSError { print("Could not save /(error), /(error.userInfo)") } catch { } } // MARK: Update Data func updateRecords() -> Void { let moc = getContext() let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "Person") let result = try? moc.fetch(fetchRequest) let resultData = result as! [Person] for object in resultData { object.name! = "/(object.name!) Joshi" print(object.name!) } do{ try moc.save() print("saved") }catch let error as NSError { print("Could not save /(error), /(error.userInfo)") } } // MARK: Get Context func getContext () -> NSManagedObjectContext { let appDelegate = UIApplication.shared.delegate as! AppDelegate return appDelegate.persistentContainer.viewContext } }

Puede obtener más de https://github.com/rajkumar24u/CoreDataOperations

Así es como guardo los datos en el núcleo, ahora quiero eliminar un objeto específico de datos completos. ¿Cómo puedo hacer eso?
Así es como guardo los datos:

func saveProductDetails(product : Product) { // set user_id product.user_id = UserDefaults.sharedInstace.getCustomerId() //save data locally for the time been let entity = NSEntityDescription.entityForName("Product", inManagedObjectContext: self.writeContext) let category = NSEntityDescription.entityForName("Category", inManagedObjectContext: self.writeContext) let brand = NSEntityDescription.entityForName("Brand", inManagedObjectContext: self.writeContext) var entityProduct = NSManagedObject(entity: entity!, insertIntoManagedObjectContext:self.writeContext) var entityCategory = NSManagedObject(entity: category!, insertIntoManagedObjectContext:self.writeContext) var entityBrand = NSManagedObject(entity: brand!,insertIntoManagedObjectContext: self.writeContext) entityProduct = product.settingManagedObject(entityProduct) entityProduct.setValue(String(Utill.sharedInstace.getTimeStamp()), forKey: "time_stamp") entityProduct.setValue(Constant.Status.STATUS_NOT_VERIFIED, forKey: "status") if product.categoryObject != nil{ product.categoryObject.user_id = UserDefaults.sharedInstace.getCustomerId(); entityCategory = product.categoryObject.settingManagedObject(entityCategory) } if product.brandObject != nil{ product.brandObject.user_id = UserDefaults.sharedInstace.getCustomerId(); entityBrand = product.brandObject.settingManagedObject(entityBrand) } entityProduct.setValue(entityCategory, forKey:"category") entityProduct.setValue(entityBrand, forKey: "brand") writeContext.performBlock { do { try self.writeContext.save() self.managedContext.performBlock({ do{ try self.managedContext.save() } catch let error as NSError { print("Could not save /(error), /(error.userInfo)") } }) } catch let error as NSError { print("Could not save /(error), /(error.userInfo)") return } } }

Este objeto de Product tiene relación con otros dos y quiero eliminar solo un objeto específico, no todos. Eso significa eliminar (que el product.purchase_id == "selected_purchse_id" ), en UITableView .
¿Como hacer eso?