J'essaie de modifier un objet CoreData lorsqu'un utilisateur clique sur une cellule dans un UITableView basé sur cell.accessoryType pour indiquer si l'élément a été cliqué. Voici le code actuel.Mise à jour/modification de l'objet géré coreData
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
NSManagedObject *itemToUpdate = [groceryArray objectAtIndex:indexPath.row];
NSLog(@"updating: %@", itemToUpdate);
if (cell.accessoryType == UITableViewCellAccessoryCheckmark) {
cell.accessoryType = UITableViewCellAccessoryNone;
itemToUpdate.purchased = NO;
}else {
cell.accessoryType = UITableViewCellAccessoryCheckmark;
itemToUpdate.purchased = YES;
}
// Commit the change.
NSError *error;
if (![managedObjectContext save:&error]) {
// Handle the error.
NSLog(@"Saving changes failed: %@", error);
}
}
Il semble sélectionner l'objet à droite parce que le NSLog() affichera l'élément correct, mais lorsque je tente de mettre à jour en utilisant la notation de point par exemple "itemToUpdate.purchased = YES;" le compilateur lance une erreur "demande de membre" acheté "dans quelque chose qui n'est ni une structure ni une union".
Je sais que je fais probablement ce mauvais (mon premier projet dans xcode) - tous les conseils seraient grandement appréciés!
Merci
Merci! Ça a marché ... J'ai beaucoup de lecture à faire. Appréciez votre temps et aidez. :) – lostincode