【问题标题】:ios CoreData delete nth object [duplicate]ios CoreData删除第n个对象[重复]
【发布时间】:2014-02-28 13:52:15
【问题描述】:

我有一个带有单个实体的简单 iOS7 CoreData 应用程序。 该实体应该只存储最后 100 条记录。 当我添加第 101 条记录时 - 我想删除最旧的记录,以便始终保留 100 条(或更少)记录

如何删除“第n条记录”?

【问题讨论】:

    标签: core-data ios7


    【解决方案1】:

    你可以这样做:

      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);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-11
      • 1970-01-01
      • 2011-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-08
      • 1970-01-01
      相关资源
      最近更新 更多