Iphone 循环浏览tableview单元格,查看单元格上的UIImageView是否隐藏

Iphone 循环浏览tableview单元格,查看单元格上的UIImageView是否隐藏,iphone,ios,xcode,cocoa-touch,uitableview,Iphone,Ios,Xcode,Cocoa Touch,Uitableview,我有一个uitableview和一个带有imageView的自定义单元格。imageView已填充图像,但其.hidden属性设置为YES。这意味着当tableView存在时,所有单元格图像都隐藏起来。在应用程序中,您可以打开/关闭图像。这只是一个小信息。我的问题是我需要在tableViewCells中循环,看看是否有隐藏的图像 在cellforrowatinexpath:中,我尝试在单元格中循环 BOOL cellImageViewsAreHidden = YES; for (UIT

我有一个uitableview和一个带有imageView的自定义单元格。imageView已填充图像,但其
.hidden
属性设置为
YES
。这意味着当tableView存在时,所有单元格图像都隐藏起来。在应用程序中,您可以打开/关闭图像。这只是一个小信息。我的问题是我需要在tableViewCells中循环,看看是否有隐藏的图像

cellforrowatinexpath:
中,我尝试在单元格中循环

    BOOL cellImageViewsAreHidden = YES;

for (UITableViewCell *myCell in tableView.visibleCells) {

    if (self.cell.alert.hidden == NO) {

        cellImageViewsAreHidden = NO;

        break;
    }
    else{
        cellImageViewsAreHidden = YES;
    }
}

if (cellImageViewsAreHidden == NO) {
    NSLog(@"They are visible");
}

else{
    NSLog(@"they are hidden");
}

但不幸的是,这只是NSLogs
“它们是隐藏的”
。它不会
NSLog
正确的文本,即使有可见的图像。非常感谢您的帮助或建议

为什么不为表格单元格创建一个自定义对象并保持其状态呢。 这意味着创建一个包含表格单元格详细信息的自定义对象,创建一个布尔值来保存状态,无论图像是否已绘制

假设用户在应用程序上有关闭的图像。然后将属性设置为false。 如果不是真的。
您不必使用tableview属性。u将拥有更多的控制权。

通过替换,实际上检查循环中的单元格,而不仅仅是类的属性单元格

if (self.cell.alert.hidden == NO) {


无论如何,正确的方法是在数据模型中存储imageView的状态。无论如何,您都需要它,因为您应该重用单元格

您在哪里编写了此代码?谢谢您的回复。如何将图像视图的状态存储到数据模型中?我知道如何在core data/nsuserdefaults中做到这一点,但我认为它不会正常工作。再次感谢!最简单的方法是一个NSMutableSet,其中存储显示imageView的单元格的所有IndExpath。如果使用[imageView setHidden:NO],则将该单元格的indexPath添加到集合中;如果使用[imageView setHidden:YES],则从集合中删除该indexPath。然后,您将始终拥有在集合中显示imageView的单元格的indexPath。哦,听起来不错,它应该可以工作。这似乎比我现在做的好!哈哈,谢谢你,马提亚!:)还有一个问题。。。如果使用NSMutableSet与使用NSMutableArray有什么区别?感谢you@aNS(可变)集没有顺序。它只有不同的对象。它确保为isEqual:返回YES的对象在集合中仅存在一次。例如,如果在集合中为第一部分(0,0)的第一行添加三个indexPath,则集合中实际上只有一个indexPath(0,0)。如果您经常使用
containsObject:
removeObject:
,那么整个过程会更加高效。
if (myCell.alert.hidden == NO) {