arrayToFilter という myObjects の配列があります。myObject の 1 つ (要素?) はベジェパスの配列です。特定のインデックス (thispath) の bezierpath を 2 番目のパスと比較し、パスが一定量 (20%) 重複するオブジェクトのみで構成されるfilteredArray を作成しています。indexedOfObjectsPassingTest を使用して、次のようにしました。
NSIndexSet * index = [[arrayToFilter objectsAtIndexes:index] indexesOfObjectsPassingTest:^BOOL (id obj, NSUInteger idx, BOOL *stop){
MyObject * anobject = obj;
UIBezierPath * thispath = [anobject.allPaths objectAtIndex:i];
NSInteger overlap = [self percentPathBoxOverlap:path: thispath];
return overlap>20;
}];
if ([index count] !=0){
filteredArray = [arrayToFilter objectsAtIndexes:index] ;
}
これはうまくいきます。しかし、私がやりたいことは、最初に出てくるオーバーラップの値が高いオブジェクトでfilteredArrayをソートすることです。オーバーラップは現在のパスと thispath に基づいてその場で計算されるため、並べ替えられた配列メソッドの使用方法がわかりません。