IOS开发之CoreData中数据的删除

来源:互联网 发布:steam skyline 源码 编辑:程序博客网 时间:2024/06/09 19:29

转载:http://blog.csdn.net/acorld/article/details/11164695

本文主要总结项目开发中,CoreData中,删除数据库数据的几种操作方式。

一、使用上下文的deleteObject方法

[cpp] view plaincopyprint?
  1.  NSManagedObjectContext *context = ...;  
  2. NSEntityDescription *description = [NSEntityDescription entityForName:@"Table" inManagedObjectContext:context];  
  3. NSFetchRequest *request = [[NSFetchRequest alloc] init];  
  4. [request setIncludesPropertyValues:NO];  
  5. [request setEntity:description];  
  6. NSError *error = nil;  
  7. NSArray *datas = [context executeFetchRequest:request error:&error];  
  8. if (!error && datas && [datas count])  
  9. {  
  10.     for (NSManagedObject *obj in datas)  
  11.     {  
  12.         [context deleteObject:obj];  
  13.     }  
  14.     if (![context save:&error])  
  15.     {  
  16.         NSLog(@"error:%@",error);  
  17.     }  
  18. }  


二、在XMPP中使用了MagicalRecord时的删除

[cpp] view plaincopyprint?
  1.  //Table为一张表的名称  
  2. NSFetchRequest *request = [[NSFetchRequest alloc] init];  
  3. NSEntityDescription *description = [NSEntityDescription entityForName:@"Table" inManagedObjectContext:[NSManagedObjectContext MR_defaultContext]];  
  4. [request setEntity:description];  
  5.   
  6. NSArray *datas1 = [Table MR_executeFetchRequest:request];  
  7. if (datas1 && [datas1 count])  
  8. {  
  9.     for (Table *obj in datas1)  
  10.     {  
  11.         [obj deleteEntity];  
  12.     }  
  13.     [[NSManagedObjectContext MR_defaultContext] MR_saveToPersistentStoreAndWait];  
  14. }  


三、够2B的删除

1.删除数据库文件(你删除部分数据肯定不能用这个)

参考

[cpp] view plaincopyprint?
  1. NSPersistentStore *store = ...;  
  2. NSError *error;  
  3. NSURL *storeURL = store.URL;  
  4. NSPersistentStoreCoordinator *storeCoordinator = ...;  
  5. [storeCoordinator removePersistentStore:store error:&error];  
  6. [[NSFileManager defaultManager] removeItemAtPath:storeURL.path error:&error];  


2.使用sqlite自带的删除方法

比如用FMDB写一个sql语句:"delete from table"

0 0
原创粉丝点击