[NSArray indexOfObject:NSString]を使用して、1項目の検索のインデックスを取得できます。しかし、私の検索から返されたインデックスの配列を取得するために、私は何を使うことができますか?あなたはiOSの以前のバージョンをサポートする必要がある場合は、ブロックのためのindexOfObjectのようなものを使ってNSArrayのインデックスを取得する方法は?
// a single element to search for
id target;
// multiple elements to search for
NSArray *targets;
...
// every index of the repeating element 'target'
NSIndexSet *targetIndices = [array indexesOfObjectsPassingTest:^ BOOL (id obj, NSUInteger idx, BOOL *stop) {
return [obj isEqual:target];
}];
// every index of every element of 'targets'
NSIndexSet *targetsIndices = [array indexesOfObjectsPassingTest:^ BOOL (id obj, NSUInteger idx, BOOL *stop) {
return [targets containsObject:obj];
}];
サポートは、iOS 4で追加された、indexesOfObjectsPassingTest:
ではありません。
おかげ
配列内で繰り返される可能性のある要素を検索するか、複数の要素を一度に検索しますか? – outis
私は1000 NSStringのNSArrayを持っています。NSStringは1つの特定のNSStringを検索しており、複数のインデックスを返すことがあります。 –
http://stackoverflow.com/questions/905828/get-nsindexset-from-nsarray –