Я пытаюсь редактировать объект CoreData, когда пользователь щелкает ячейку в UITableView на основе cell.accessoryType, чтобы показать, был ли выбран элемент.Вот текущий код.
- (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);
}
}
Кажется, что он выбирает правильный объект, потому что NSLog () покажет правильный элемент, но когда я пытаюсь обновить, используя точечную нотацию, например, "itemToUpdate.purchased = YES;»компилятор выдает ошибку «запрос на членство« куплено »во что-то, не являющееся структурой или объединением».
Я знаю, что, вероятно, я делаю это неправильно (мой первый проект в xcode) - любой совет будет принят с благодарностью!
Спасибо