0

質問しなきゃ。

配列がNSMutableArray myArray;あり、そこに nome オブジェクトがあるとします。

私は言うことができます:

for (NSObject* anObject in myArray){
  //bla-bla
}

次のようにも言えます。

for (int i = 0; i < myArray.count-1; i ++){
  //bla-bla
} 
  1. 2つのアプローチの違いは何ですか?

  2. どちらの方法が速いですか?

アドバイス(またはリンク、またはtut)をいただければ幸いです。

乾杯

4

2 に答える 2

3

両方のバージョンは、特に目立ってはいけません (すべての項目を反復しない 2 番目のコードを除いて)。速度がすべて必要な場合はenumerateObjectsWithOptions:usingBlock:NSEnumerationConcurrentオプションを使用して同時に配列を列挙できます。ただし、それ以外はどちらのバージョンを使用しても問題はありませんので、好みのバージョンを使用してください。最初のバージョンは確かに型集約的ではなく、他の基本コンテナー型 ( NSSetNSCountedSetNSDictionary)でも機能します。

于 2012-12-26T14:33:15.607 に答える
1

この素晴らしい投稿をここでチェックしてください:

NSArray列挙のパフォーマンスを調べました

どの方法が最も速いか、そしてその理由を正確に示しています。

于 2012-12-26T14:57:57.117 に答える