次のようなループがあります。
label: for(X *y in z)
{
switch(y.num)
{
case ShouldDoSomething:
[self somethingWithX:y];
break;
case ShouldStopNow:
y = [self valWhenStopped];
break label;
}
[val append y];
}
もちろん、Objective-C はループのラベル付けをサポートしていないため (少なくとも、試してみると、コンパイル エラーがスローされますExpected ';' after break statement
)、これは機能しません。Objective-C で switch ケースを使用してループを中断する方法はありますか? そうでない場合、同じ効果を持つベスト プラクティスは何ですか?