我有一个由核心数据生成的表视图(表view1)(entity1),我可以逐个删除行,但我想一次用一个按钮删除整个表,我该怎么做?
我有东西要删除整个交易,但问题是我有第二个表视图控制器(表view2),它也是由核心数据生成的(entity2),当我想删除"table view1"我也删除了"table view2"我只是想删除"table view1",其内容位于entity1 ..
我删除数据的代码是:
NSURL *storeURL = [[managedObjectContext persistentStoreCoordinator] URLForPersistentStore:[[[managedObjectContext persistentStoreCoordinator] persistentStores] lastObject]];
// lock the current context
[managedObjectContext lock];
[managedObjectContext reset];//to drop pending changes
//delete the store from the current managedObjectContext
if ([[managedObjectContext persistentStoreCoordinator] removePersistentStore:[[[managedObjectContext persistentStoreCoordinator] persistentStores] lastObject] error:nil])
{
// remove the file containing the data
[[NSFileManager defaultManager] removeItemAtURL:storeURL error:nil];
//recreate the store like in the appDelegate method
[[managedObjectContext persistentStoreCoordinator] addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:nil error:nil];//recreates the persistent store
}
[managedObjectContext unlock];
//that's it !
[self.tableView reloadData];
Run Code Online (Sandbox Code Playgroud)
您必须获取实体的所有对象并将其删除:
NSManagedObjectContext *context = ...; // your managed object context
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Entity1"];
NSError *error;
NSArray *objects = [context executeFetchRequest:request error:&error];
if (objects == nil) {
// handle error
} else {
for (NSManagedObject *object in objects) {
[context deleteObject:object];
}
[context save:&error];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2895 次 |
| 最近记录: |