ios - Sorted NSIndexSet of sub array of NSArray -


let have nsindexset of array indexes. want sort nsindexset depends on nsarray.

so, let have array :

array = @[1,4,3,8,6,2,9]; 

and index set

indexset :  (2,4,5,6) 

so "sub array" of indexes be

subarray = @[3,6,2,9] 

so have :

i have : indexset : (2,4,5,6) array = @[1,4,3,8,6,2,9]; return indexset : (5,2,4,6) --> sorted indexes of "sub array". 

how achieve this?

you can't achieve want. nsindexset doesn't maintain order separate order of indexes themselves. in index order.

you build array of number objects treat indexes.

nsarray* array = /* ... */; nsmutablearray* indexes = [[nsmutablearray alloc] init]; [indexset enumerateindexesusingblock:^(nsuinteger idx, bool *stop){     [indexes addobject:@(idx)]; }]; [indexes sortusingcomparator:^nscomparisonresult(nsnumber* obj1, nsnumber* obj2){     nsuinteger index1 = obj1.unsignedintegervalue;     nsuinteger index2 = obj2.unsignedintegervalue;     id element1 = array[index1];     id element2 = array[index2];     return [element1 compare:element2]; }]; 

Comments