更新CoreData中的单个记录

时间:2013-09-17 06:02:15

标签: core-data ios6

我有以下情况:

将数据从CoreData实体读入名为observationList

的数组中

循环遍历数组,检查数据,可能需要更新位置x的数据。

for (int x = 0; x < [observationList count]; x++)
{
  //check for need of data update - if there is a need to update ....

  for (NSManagedObject *schoolObject in [self observationList])
  {
  [schoolObject setValue:[NSString stringWithFormat:@"%@", classCheck] forKey:@"obsClassName"];
  }

  NSError *error;
  [context save:&error];
}

我意识到我正在做的是更新CoreData中的所有记录,所以我要问的是如何专门更新位置x的记录。

2 个答案:

答案 0 :(得分:2)

如果schoolObject位于observationList,那么您必须仅更新x位置的特定记录

for (int x = 0; x < [observationList count]; x++)
{
  NSManagedObject *schoolObject = [[self observationList] objectAtIndex:x];

   //check for need of data update - if there is condition

  [schoolObject setValue:[NSString stringWithFormat:@"%@", classCheck] forKey:@"obsClassName"];

  NSError *error;
  [context save:&error];
}

首先从具有特定位置的schoolObject获取observationList并使用适当的条件进行更新

答案 1 :(得分:1)

这会有用吗? 检查后,得到如下对象:

NSManagedObject *schoolObject = [[self observationList] objectAtIndex:x]

然后根据需要设置值。