我的循环出了什么问题 - 循环浏览视图

dre*_*bot 1 cocoa-touch objective-c ios

有人可以指出我的for循环有什么问题吗?我试图通过UIImageViews循环使所有隐藏.所有子视图都是UIImageViews.提前致谢.

int i;
int num = [[self myView]subviews];
for (i=0; i<num; i++) 
{
  UIImageView *currentView = [self.tabber.subviews objectAtIndex:i];
  currentView.hidden = YES;
}
Run Code Online (Sandbox Code Playgroud)

Vik*_*ica 5

Ian,Martin和Aram指出了代码中的错误.

我想指出迭代数组的另一种方法:快速枚举

for (UIView *view in [self.myView subviews])
{
    view.hidden = YES;
}
Run Code Online (Sandbox Code Playgroud)

它比C风格的基于计数变量的迭代有几个优点,例如

  • 更清洁的代码 - 不需要计数器变量.
  • 枚举是"安全的" - 枚举器具有变异防护,因此如果您在枚举期间尝试修改集合,则会引发异常.