最近,我试图调试一些代码,我对自己做错了什么感到困惑。我的问题的简化版本如下:
for(int x = 0; x < [myArray count]; x++);
{
//perform some action
}
问题是我想要执行的操作只会发生一次。当然,我最终注意到问题是我不小心在 for 循环的末尾包含了一个额外的分号。
for(int x = 0; x < [myArray count]; x++);<---- Oops!
{
//perform some action
}
但后来我想知道......为什么该代码甚至可以工作?事实证明,我的 for 循环正在执行,然后下面的代码作为“匿名块”运行。
Objective C 中匿名块的意义何在?它们何时/何地有用?
为什么我的代码不会在 Xcode 中生成某种警告?我想您可以将任何旧代码部分放在一对额外的大括号中,然后突然将其作为匿名块执行?