iphonecoredatastore查询接口
另一个iPhone新手问题 我有以下资料:iphonecoredatastore查询接口,iphone,sqlite,core-data,Iphone,Sqlite,Core Data,另一个iPhone新手问题 我有以下资料: + (void) deleteAll { NSManagedObjectContext *managedObjectContext = [(myAppDelegate*)[[UIApplication sharedApplication] delegate] managedObjectContext]; NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; NSEntit
+ (void) deleteAll {
NSManagedObjectContext *managedObjectContext = [(myAppDelegate*)[[UIApplication sharedApplication] delegate] managedObjectContext];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:[[self class] description] inManagedObjectContext:managedObjectContext];
[fetchRequest setEntity:entity];
NSError *error;
NSArray *items = [managedObjectContext executeFetchRequest:fetchRequest error:&error];
[fetchRequest release];
for (NSManagedObject *managedObject in items) {
[managedObjectContext deleteObject:managedObject];
NSLog(@"%@ object deleted",[[self class] description]);
}
}
NSPersistentStoreCoordinator
他俩
NSManagedObjectModel
是否可以直接在存储上运行查询(因为它是sqlite DB)?我正试图从一个tableview中删除所有记录,我认为“从表中删除”会很好而且很快,而不是通过循环记录并手动删除它们(我也在努力解决这个问题)
谢谢你抽出时间
James核心数据充当底层数据存储的包装器,因此开始绕过核心数据并不是一个好主意。此外,核心数据会向数据库中添加其他信息,因此直接访问数据库可能(或将来可能)会导致问题 要通过core data删除所有记录,我有以下几点:
+ (void) deleteAll {
NSManagedObjectContext *managedObjectContext = [(myAppDelegate*)[[UIApplication sharedApplication] delegate] managedObjectContext];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:[[self class] description] inManagedObjectContext:managedObjectContext];
[fetchRequest setEntity:entity];
NSError *error;
NSArray *items = [managedObjectContext executeFetchRequest:fetchRequest error:&error];
[fetchRequest release];
for (NSManagedObject *managedObject in items) {
[managedObjectContext deleteObject:managedObject];
NSLog(@"%@ object deleted",[[self class] description]);
}
}
干杯,伙计。抱歉耽搁了。