我有一个 UITableView,它将 UISwitch 作为 UITableViewCell 附件视图。
我正在尝试创建一种响应开关更改的方法。基本上在任何给定时间都应该只有一个阀门打开,所以我希望当我打开一个开关时,它会使已经打开的开关关闭。
我做了这样的事情:
-(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!");
}
}
到目前为止,它什么也没做。我知道正在调用该方法。我究竟做错了什么?