( ) の配列と に対応する ( ) の配列NSNumbers
を含むオブジェクトがあり、いくつかの情報が含まれています。それぞれに対してメソッドを呼び出し、返された結果に関連付けて、それらを 1 つの配列に保存する必要があります。最後に、大きな配列を扱っているため、効率的な方法で関連付けられたインデックスを保持しながら、インデックスの重複を削除したいと考えています。indexes
NSDictionaries
indexesTitles
indexes
object.index
object.indexTitles
indextTitles
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
。それらはすべて遅すぎます。
なにか提案を?