如何测试某个表视图单元格是否具有某个图像?

时间:2011-10-08 19:07:51

标签: iphone objective-c ios uitableview tableview

在我的应用中,您可以添加和删除单元格。我只希望用户能够添加每个单元格中的1个。那么,有没有办法测试一个单元格是否已经有某个图像?

像:

if(myTableView.cell.imageView == @"image.png"){
// do something
}

请帮忙!感谢

修改

此按钮允许我们将细胞和图像添加到新细胞中。

  - (IBAction)outlet1:(id)sender {
if (cart.cell.tag == 1) {
    UIAlertView * alert = [[UIAlertView alloc]initWithTitle:@"You have already added this" message:@"Go to My Cart and add more if you like" delegate:self cancelButtonTitle:@"Done" otherButtonTitles:nil, nil];
    [alert show];
    [alert release];
}
else {
[cart.cells addObject:@"1"];
 [[cart.cells lastObject] setTag:1];
UIImage * myImage = [UIImage imageNamed:@"paddle1.png"];
[cart.imageArray addObject:myImage];

}     }

所以我基本上想测试是否已添加此单元格!

2 个答案:

答案 0 :(得分:1)

如果您只有几个不同的图像而不需要检查图像,那么您应该将标签编号设置为与图像对应的单元格 [cell setTag:(int)];所以paddle2.png可以是2,paddle1.png可以是1,你将[cell setTag:1]用于paddle1.png。比测试时只需检查标签:

if([cell tag] == 1){     //做一点事   }

这是按钮的代码:

   - (IBAction)outlet2:(id)sender {
[cart.cells addObject:@"1"];
[[cart.cells lastObject] setTag:2];
UIImage * myImage = [UIImage imageNamed:@"paddle2.png"];
[cart.imageArray addObject:myImage];
}

这是测试代码:

if(myTableView.cell.tag == 2){
// do something
  }

答案 1 :(得分:0)

据我所知,您无法检查图像名称,但可以保留存储在单元格中的图像名称数组。然后,您可以检查行的索引和图像数组名称的索引,以查看它是否是您要查找的内容:

if ([[[myimages objectAtIndex:i] valueForKey:@"ImageName"] isEqualToString:@"image.png"])
{
   // you got what you were looking for,
}

'我'上面将是indexPath.row值 - 我假设你在委托方法didSelectRowAtIndexPath上检查这个。