Это меня очень раздражает. В Objective-C у меня есть объект Item
с логическим атрибутом Deleted
. Я хотел бы иметь возможность установить значение Deleted
в YES или 1.
Вот мой код:
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Item" inManagedObjectContext:managedObjectContext];
[fetchRequest setEntity:entity];
NSString *itemID = [[fetchedObjects objectAtIndex:(int)[currentTable selectedRow]] valueForKey:@"ItemID"];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ItemID = %@", itemID];
[fetchRequest setPredicate:predicate];
NSError *error = nil;
Item *objectToDelete = [[managedObjectContext executeFetchRequest:fetchRequest error:&error] objectAtIndex:0];
if (objectToDelete == nil) {
NSLog(@"ERROR");
}
[fetchRequest release];
[objectToDelete setValue:[NSNumber numberWithBool:YES] forKey:@"Deleted"];
[managedObjectContext save:&error];
Следует отметить, что я могу успешно изменять различные атрибуты; например: я добавляю строку -DEL в конец атрибутов Item
Code
и Name
. Когда я просматриваю таблицу данных, строки для этих значений обновляются соответствующим образом, однако значение для Deleted
по-прежнему равно 0.