Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/44.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 如何测试某个表视图单元格是否具有某个图像?_Iphone_Objective C_Ios_Uitableview_Tableview - Fatal编程技术网

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

Iphone 如何测试某个表视图单元格是否具有某个图像?,iphone,objective-c,ios,uitableview,tableview,Iphone,Objective C,Ios,Uitableview,Tableview,在我的应用程序中,您可以添加和删除单元格。我只希望用户能够在每个单元格中添加1个。那么,有没有办法测试一个细胞是否已经有了特定的图像 比如: 请帮忙!谢谢 编辑 此按钮允许我们将单元格和图像添加到新单元格中 - (IBAction)outlet1:(id)sender { if (cart.cell.tag == 1) { UIAlertView * alert = [[UIAlertView alloc]initWithTitle:@"You have already added

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

比如:

请帮忙!谢谢

编辑

此按钮允许我们将单元格和图像添加到新单元格中

  - (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];
} }


所以我基本上想测试一下这个单元格是否已经被添加了

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

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

上面的“i”将是indexPath.row值-我假设您在委托方法didSelectRowAtIndexPath上检查此值。

如果您只有几个不同的图像,而不需要检查图像,那么您应该使用 [单元格设置标签:(int)];因此,paile2.png可以是2,paile1.png可以是1,而对于paile1.png,您将[cell setTag:1]。测试时,只需检查标签:

如果([单元标记]==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
  }

你能显示设置或添加图像到单元格的代码吗?是的,我会更新我的问题!谢谢你的回复!问题的本质揭示了应用程序设计的缺陷。您正在创建这些单元格。您正在设置这些单元格的图像。因此,在某一点上,你知道哪个图像进入了细胞。你为什么忘了这个?您不应该在视图中存储模型信息;您的视图应该反映您的模型。因此,这个问题的真正答案是:重组你的应用程序,这样你就可以在别处记住这些信息。不要依赖单元格为您记住它。如何分配cart.cell?无论如何,您不应该检查cart.cell的标记。您应该检查上述代码中[cart.cells lastObject]的标记。分配cart.cell是什么意思?比如我如何分配它的文本?好的,你的意思是测试
[cart.cells.tag lastObject]?或者我是否省略了
.tag
?谢谢你的帮助!!:Dok如果我已经将图像添加到数组中,我如何能够以这种方式进行测试?谢谢你的回复,男人!:)谢谢你的帮助!:)好的,我加了这个,它不工作了。我正在尝试添加一个单元格,并测试该单元格是否已在应用程序中添加。所以,如果我更新我的问题,你能看一下它,让我知道它是否正确吗?应用程序现在崩溃了吗?谢谢:)你上面重写的代码没有意义。。。我知道cart.cells是一个数组,但什么是cart.cell?对,cart.cells是数组。而cart.cell只是处理表视图单元格。您如何分配cart.cell?还有。请注意我上面的评论和戴夫·德隆的评论
if(myTableView.cell.tag == 2){
// do something
  }