私は持っている:
NSDictionary* server;
for (server in self.servers)
{
if (<some criterium>)
{
break;
}
}
// If the criterium was never true, I want to use the last item in the
// the array. But turns out that `server` is `nil`.
ループ ブロックは変更されませんserver
。
servers
with dictionaries でありNSMutableArray
、ループ中に変更されないプロパティです。
ループが終了した後にserver
値があるのはなぜですか?nil
ループ後にこのような変数を使用したのは初めてでした。あまり考えずに、(古い C 時代に)次のように動作すると想定しました。
int i;
for (i = 0; i < n; i++)
{
...
}