- 我有 UITableView
- 所有单元格中都有一个 UISwitch。
- 我的核心数据由值填充。
- 名为 switchValue 的核心数据属性之一,具有 @"OFF" 值。
现在我需要:
- 如果用户将 UISwitch 设置为 ON。
- 该操作将该行的 switchValue 属性的值更改为 @"ON"。
我的简单代码是:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
NSManagedObject *object = [self.fetchedResultsController objectAtIndexPath:indexPath];
cell.textLabel.text = [[object valueForKey:@"courseCode"] description];
cell.detailTextLabel.text = [[object valueForKey:@"courseName"] description];
UISwitch *theSwitch = [[UISwitch alloc]init];
cell.accessoryView = theSwitch;
NSLog(@"%@",[[object valueForKey:@"switchValue"] description]);
if ([[[object valueForKey:@"switchValue"] description]isEqualToString: @"ON"]) {
theSwitch.on = YES;
}else{
theSwitch.on = NO;
}
[theSwitch addTarget:self action:@selector(switchChanged:) forControlEvents:UIControlEventValueChanged];
return cell;
}
动作是:
-(void) switchChanged: (UISwitch *) sender{
NSManagedObjectContext *context = [self.fetchedResultsController managedObjectContext];
NSEntityDescription *entity = [[self.fetchedResultsController fetchRequest] entity];
if (sender.on) {
How can I change the value?
}else{
}
}