Coredata未更新

时间:2018-02-12 11:16:18

标签: ios objective-c core-data

我想更新核心数据实体中的一条记录,并为其编写代码,但数据未更新。

有实体帖子,它有id的数据 我必须更新一个特定身份证的记录。

这是更新记录的功能

 -(void)updateDataInDB:(NSString*)withID WithDes:(NSString*)newData{
     NSManagedObjectContext * context = [self getManagedContext];
    NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
    NSEntityDescription *entity = [NSEntityDescription entityForName:@"News" inManagedObjectContext:context];
    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"postId == %@",withID];
    [fetchRequest setPredicate:predicate];
    [fetchRequest setFetchLimit:1];
    [fetchRequest setEntity:entity];
    NSError *error;
    NSArray *arrResult = [context executeFetchRequest:fetchRequest error:&error];
    if(arrResult.count>0){
        NSManagedObject *news = [arrResult objectAtIndex:0];
        [news setValue:newData forKey:@"fullDesc"];


    }

   [self saveContext];
}

如有任何问题请提供帮助

1 个答案:

答案 0 :(得分:0)

我的核心数据包含重复记录,我只更新了第一条记录,以便更新问题。在我更新了所有数组记录后,代码工作正常。