【发布时间】:2011-04-13 16:15:47
【问题描述】:
我的 cellForRowAtindexPath 上有这段代码,每个单元格上有一个自定义单元格和一个按钮。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 静态 NSString *MyIdentifier = @"tblCellView"; TableCellView *cell = (TableCellView *)[tableView dequeueReusableCellWithIdentifier:MyIdentifier]; 警报 *alarma = (Alarms *)[alarmsArray objectAtIndex: indexPath.row]; 如果(!单元格){ [[NSBundle mainBundle] loadNibNamed:@"TableCellView" owner:self options:nil]; 细胞 = tblCell; UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(-7, 4, 30, 33)]; [按钮 addTarget:self action:@selector(favButtonAction:) forControlEvents:UIControlEventTouchUpInside]; [按钮设置标签:1]; [cell.contentView addSubview:button]; [按钮释放]; } // 设置单元格。 [cell setLabelText: [alarma nombreAlarma]]; UIButton *button = (UIButton *)[cell viewWithTag:1]; button.tag = indexPath.row; 返回单元格; }我的问题是,当我点击按钮时,我得到了随机结果,只要我在表格上移动并且单元格正在重用,我就会得到不同的索引,这些索引不等于相关单元格的标签 tex。
-(IBAction)favButtonAction: (id)sender { UIButton *button = (UIButton *)sender; 警报 *alarma = (Alarms *)[alarmsArray objectAtIndex: button.tag]; NSLog(@"labelText: %@",[alarma nombreAlarma]); }例如,第一个单元格总是没问题,但最后一个单元格等于第一个 objectAtIndex(也许 button.tag 等于 0,而它必须是 14?)
【问题讨论】:
-
谢谢...我已经这样解决了:
标签: iphone uitableview