UISwitch を UITableViewCell accessoriesView として保持する UITableView があります。
スイッチの変更に応答するメソッドを作成しようとしています。基本的に、特定の時間に開いているバルブは1つだけであるべきなので、スイッチをオンにすると、すでにオンになっているスイッチがオフに切り替わります。
私はそのようなことをしました:
-(IBAction)openCloseValve:(id)sender
{
UISwitch *theSwitch = (UISwitch *)sender;
if ([theSwitch isOn])
{
//Open Valve!
NSLog(@"Opening Valve!");
Storage *strg = [Storage sharedStorage];
UITableViewCell *oldCell = [tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:strg.openValve.intValue-1 inSection:0]];
UISwitch *newSwitch = [[UISwitch alloc] initWithFrame:CGRectZero];
newSwitch.onTintColor = [UIColor greenColor];
newSwitch.on = NO;
oldCell.accessoryView = newSwitch;
strg.openValve= [[NSNumber alloc] initWithInt:theSwitch.tag + 1];
NSLog(@"%d", strg.openValve.intValue);
} else {
//Close Valve!
NSLog(@"Closing Valve!");
}
}
これまでのところ、何もしません。メソッドが呼び出されていることはわかっています。私は何を間違っていますか?