テーブルのリストがあり、ブール値でコア データに保存されています。セルを選択すると、コア データでブール値が YES に保存されます。しかし、複数のセルを選択すると、2 つのセルが YES になります。1つのセルをyesに設定したいだけです。どうやってやるの。ここに私のコードがあります:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
BestuhlungCell *cell =(BestuhlungCell *)[tableView dequeueReusableCellWithIdentifier:@"Cell"];
NSManagedObject *managedObject = [self.fetchedResultsController objectAtIndexPath:indexPath];
cell.bestuhlungLabel.text = [managedObject valueForKey:@"bestuhlungstitel"];
NSData *data = [[NSData alloc] initWithData:[managedObject valueForKey:@"bestuhlungsfoto"]];
UIImage *image = [UIImage imageWithData:data];
cell.bestuhlungFoto.image = image;
cell.checkButton.hidden=YES;
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSManagedObjectContext *context = [app managedObjectContext];
// BestuhlungCell *cell = (BestuhlungCell *)[tableView cellForRowAtIndexPath:indexPath];
Bestuhlung *bestuhlung=[self.fetchedResultsController objectAtIndexPath:indexPath];
if ([[bestuhlung valueForKey:@"check"] boolValue]) {
[bestuhlung setValue:[NSNumber numberWithBool:NO] forKey:@"check"];
} else {
[bestuhlung setValue:[NSNumber numberWithBool:YES] forKey:@"check"];
}
NSError *error = nil;
if (![context save:&error]) {
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
[self.navigationController popViewControllerAnimated:YES];
}