0

( ) の配列と に対応する ( ) の配列NSNumbersを含むオブジェクトがあり、いくつかの情報が含まれています。それぞれに対してメソッドを呼び出し、返された結果に関連付けて、それらを 1 つの配列に保存する必要があります。最後に、大きな配列を扱っているため、効率的な方法で関連付けられたインデックスを保持しながら、インデックスの重複を削除したいと考えています。indexesNSDictionariesindexesTitlesindexesobject.indexobject.indexTitlesindextTitles

NSMutableArray *resultArray = [NSMutableArray array];
NSMutableArray *titlesArray = [NSMutableArray array];
for(NSNumber *index in object.indexes)
{
    NSArray *resultsIndexArray = [self methodThatReturnsAnArray];
    NSString *indexTitleDictionary = [object.indexesTitles objectAtIndex:i];
    for(NSNumber *resultId in resultsIndexArray)
    {
        [titlesArray addObject:indexDictionary];
        [resultArray addObject:resultId];
    }
    i++;
}
[fullResultsArray addObject:titlesArray];
[fullResultsArray addObject:resultArray];

重複を削除する最も効率的な方法は、
次のような NSOrderedSetを使用することです。

NSOrderedSet *orderedSet = [NSOrderedSet orderedSetWithArray:resultArray];
resultArray = [orderedSet.array mutableCopy];

の対応するエントリを削除するにはどうすればよいtitlesArrayですか? どうすれば関連付けを維持できますか? NSDictionaryまた、 likeを使用{resultId, titleDictionary}して配列に格納しようとしましたが、同じ で辞書を削除する効率的な方法が見つかりませんでしたresult。それらはすべて遅すぎます。

なにか提案を?

4

1 に答える 1