下記のようにループを回して配列を処理するというのはよくあるケースだと思う。
for(int i = 0;i < count;i++){ Model *m = [ary objectAtIndex:i]; }
が、これだとコンパイラ警告が出る。理由はobjectAtIndex:(NSUInteger)indexなので、intとNSUIntegerで型が違うため。
コンパイラ警告を消そうとしてintをNSUIntegerにすると以下の場合で不具合が出る。
for(NSUInteger i = count - 1;i >= 0;i--){ Model *m = [ary objectAtIndex:i]; }
配列に逆順でアクセスしていくと、最後にiが-1になってループから抜けるはずが、NSUIntegerだと2^32-1になってしまうので無限ループになる。
ループ変数はすべてintにしてコンパイラ警告は無視するのがいいのかな。。