0
我有一個簡單的iOS7 CoreData應用程序與一個單一的實體。 實體只能存儲最後100條記錄。 當我添加第101條記錄 - 我想刪除最舊的記錄,以便我總是保持100(或更少)記錄ios CoreData刪除第n個對象
如何刪除「第n條記錄」?
我有一個簡單的iOS7 CoreData應用程序與一個單一的實體。 實體只能存儲最後100條記錄。 當我添加第101條記錄 - 我想刪除最舊的記錄,以便我總是保持100(或更少)記錄ios CoreData刪除第n個對象
如何刪除「第n條記錄」?
你可以這樣做:
NSError *error;
//clear job: delete the old records before inserting new ones
NSFetchRequest *del_fetchRequest = [[[NSFetchRequest alloc] init] autorelease];
[del_fetchRequest setEntity: [NSEntityDescription entityForName:@"News" inManagedObjectContext:_context]];
[del_fetchRequest setPredicate: [NSPredicate predicateWithFormat: @"(RecordID< %@)", number_here]];
NSArray *del_newsMatchingTitle = [_context executeFetchRequest:del_fetchRequest error:&error];
for (NSManagedObject *managedObject in del_newsMatchingTitle) {
[_context deleteObject:managedObject];
//NSLog(@"%@ object deleted",managedObject);
}
if (![_context save:&error]) {
// NSLog(@"Error deleting %@ - error:%@",del_fetchRequest,error);
}