我有一个显示字符串数组的 tableView。但是我有第二个数组,我在(0 或 1)中有一个值。如果为 0,我想显示一个图像,文本为黑色,但如果为 1,我想显示第二个图像,文本为绿色。
我从解析下载的数组。那是有效的。但是当我点击一个单元格时没有任何反应,下面我显示我必须查看它是 1 还是 0 的代码。
if ([NSNumber numberWithInt:0] == [oneOrZeroArray objectAtIndex:indexPath.row])
{
cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;
cell.textLabel.textColor = [UIColor darkTextColor];
cell.editingAccessoryType = UITableViewCellAccessoryDetailDisclosureButton;
cell.imageView.image = [UIImage imageNamed:@"noCheckMark.png"];
[oneOrZeroArray replaceObjectAtIndex:indexPath.row withObject:[NSNumber numberWithInt:1]];
}
else if ([NSNumber numberWithInt:1] == [oneOrZeroArray objectAtIndex:indexPath.row])
{
cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;
cell.textLabel.textColor = [UIColor greenColor];
cell.editingAccessoryType = UITableViewCellAccessoryDetailDisclosureButton;
cell.imageView.image = [UIImage imageNamed:@"checkMark.png"];
[oneOrZeroArray replaceObjectAtIndex:indexPath.row withObject:[NSNumber numberWithInt:0]];
}
如果我单击一个单元格,则 NSLog 将显示应用程序从解析中下载数据时它所具有的数字,则该数组不会在单击时更新。
(后来的问题是当我点击一个单元格时上传新的数组项)
艾迪德:
好的,所以使用 didSelectRowAtIndexPath 中的代码可以正常工作。
如果您锁定图像,则单元格正在做某事但它不正确,如果我单击一个项目,它会更新另一个项目,然后像那样跳来跳去。我只是点击我在图片中描述的它,我不按任何其他单元格。
编辑2: 我失败了......
如果我移动:[oneOrZeroArray replaceObjectAtIndex:indexPath.row withObject:[NSNumber numberWithInt:0]];
到 didSelectRowAtIndexPath 它可以工作 =)。