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