0

Core Data エンティティに格納されている文字列の最後の文字が $ であるかどうかをチェックし、そうであれば変数 'last' を設定してこれを記憶し、$ を削除した文字列を Core Data に書き換えるルーチンがあります。

エラーは発生せず、最後の文字が $ の場合は「if」ルーチンを実行しますが、Core Data には書き戻されません。誰かが私が間違っていることを見ることができますか?

NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"Observations"];
NSError *error = nil;
observationList = [self.managedObjectContext executeFetchRequest:fetchRequest error:&error];


for (int loop1 = 0; loop1 < [observationList count]; loop1++)
{

NSString *classCheckActual = [[observationList objectAtIndex:loop1] valueForKey: @"obsClassName"];
NSString *last = [classCheckActual substringFromIndex:[classCheckActual length] - 1];
NSString *classCheck = @"";

if ([last isEqual: @"$"])
{
  classCheck = [classCheckActual substringToIndex:[classCheckActual length] - 1];
  NSManagedObject *schoolObject = [[self observationList] objectAtIndex:loop1];
  [schoolObject setValue:[NSString stringWithFormat:@"%@", classCheck] forKey:@"obsClassName"];
  NSError *error;
[context save:&error];
}

}
4

1 に答える 1