0

次のような状況があります。

データは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 のレコードを具体的に更新する方法です。

4

2 に答える 2

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、適切な条件で更新します

于 2013-09-17T06:53:06.170 に答える
1

これは機能しますか?チェックの後、次のようにオブジェクトを取得します。

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

次に、必要に応じて値を設定します。

于 2013-09-17T06:38:19.723 に答える