Since the data will be stored in an core data object just delete that object. Also can also refer
Removing a specific entry/row from Core-Data
Hope this will resolve your query.
Вопрос
What is the best way to delete a row of data in Core Data? I can find a lot of answers online with indexPath like this:
NSManagedObjectContext *context=[self managedObjectContext];
[context deleteObject:[self.recordarray objectAtIndex:indexPath.row]];
NSError *error=nil;
if (![context save:&error]) {
NSLog(@"Cant save %@ %@",error,[error localizedDescription]);
}
[self.recordarray removeObjectAtIndex:indexPath.row];
I don't have a Table View , I am saving data for a Custom View. I am very new to Core data, basically I want to do something like that in SQL
Delete Row with FirstColumn(Primary Key) is Equal to "ABC"
Can someone help me and provide a link.
Решение 2
Since the data will be stored in an core data object just delete that object. Also can also refer
Removing a specific entry/row from Core-Data
Hope this will resolve your query.
Другие советы
Like Sqlite's "DELETE from tableName WHERE condition", you have no single step to delete MULTIPLE
objects from CoreData.
In CoreData, first you have to fetch objects that has to be deleted, using NSFetchRequest
and NSPredicate
NSFetchRequest *request = [[NSFetchRequest alloc] initWithEntityName:@"EntityName"];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"propertyName == %@", value];
[request setPredicate:predicate];
NSError *error = nil;
NSManagedObjectContext *managedObjectContext;//Your ManagedObjectContext;
NSArray *result = [managedObjectContext executeFetchRequest:request error:&error];
Then, you should iterate through every NSManagedObject
and call deleteObject:
from your NSManagedObjectContext
.
if (!error && result.count > 0) {
for(NSManagedObject *managedObject in result){
[managedObjectContext deleteObject:managedObject];
}
//Save context to write to store
[managedObjectContext save:nil];
}