Почему я не могу обновить логическое значение атрибута основного объекта данных?

Это меня очень раздражает. В 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 в конец атрибутов ItemCodeи Name. Когда я просматриваю таблицу данных, строки для этих значений обновляются соответствующим образом, однако значение для Deletedпо-прежнему равно 0.

5
задан ldiqual 26 July 2012 в 08:50
поделиться