【发布时间】:2012-06-20 21:30:31
【问题描述】:
我有一个带有自定义单元格的表格视图(表格视图的每个单元格上都有UISwitch)。
我的单元格是这样设置的:
switchView = [[UISwitch alloc] initWithFrame:CGRectMake(200.0f, 5.0f, 75.0f, 30.0f)];
cell.accessoryView = switchView;
[switchView setOn:NO animated:NO];
[switchView addTarget:self action:@selector(favorite:) forControlEvents:UIControlEventValueChanged];
[cell addSubview:switchView];
用户更改UISwitch时调用的操作是:
-(IBAction)favorite:(id)sender
{
indexPath = [self.tableView indexPathForCell:(UITableViewCell*)[sender superview]];
NSMutableArray *favoriteList = [[NSMutableArray alloc]init];
NSString *favoriteItem = [self.tableView cellForRowAtIndexPath:indexPath].textLabel.text;
NSLog(favoriteItem);
if ([switchView isOn])
{
[favoriteList addObject:favoriteItem];
NSUserDefaults *favoriteDefaults = [NSUserDefaults standardUserDefaults];
[favoriteDefaults setObject:favoriteList forKey:@"MyFavorites"];
NSLog(@"%@", favoriteList);
}
else
{
[favoriteList removeObject:favoriteItem];
NSUserDefaults *favoriteDefaults = [NSUserDefaults standardUserDefaults];
[favoriteDefaults setObject:favoriteList forKey:@"MyFavorites"];
NSLog(@"%@", favoriteList);
}
}
问题是:
在测试应用程序时,只有表格视图的最后一项(单元格)可以正常工作。
对于其他人,调试器返回UISwitch 的状态始终为“OFF”。
有什么问题?
【问题讨论】:
标签: ios uitableview uiswitch