NSMutableArrayをスキャンして、すべての0を削除しようとしています。(それらはNSNumberオブジェクトにラップされています)。forループを使用して検索しようとしましたが、オブジェクトを削除すると、将来の反復でインデックスの範囲外の問題が発生するという問題が発生しました。この問題を簡単に解決する論理的な方法は考えられません。
私の現在のコードはこれです:
for(int i =0; i < [array count]; i++)
{
if(!abs([[array objectAtIndex: i] floatValue]) > 0.0)
{
[array removeObjectAtIndex: i];
}
}
ループを修正したり、特別なメソッド/関数を使用してすべての0を削除する方法はありますか?