Если вы можете использовать блоки, самый простой способ использовать sortUsingComparator:
.В противном случае вам нужно будет использовать sortUsingFunction:
.
. В любом случае вам нужно написать собственный блок или функцию, которая принимает в качестве аргументов два массива и возвращает порядок сортировки на основе их содержимого (Я не уверен, какую логику вы используете, чтобы определить, является ли массив A или массив B «до» или «после» другого).
Вы бы сделали что-то вроде:
static NSInteger MySorterFunc(id leftArray, id rightArray, void *context) {
... return ascending/descending/same based on leftArray vs. rightArray ...
}
Тогда:
[myArrayOfArrays sortUsingFunction: MySorterFunc context: NULL];