Не совсем уверен в вопросе - вы хотите передать массив другому методу, ваш startSortingTheArray:
метод, кажется, определен правильно, и вы можете сделать [self startSortingTheArray:myDataArray]
уже.
При отображении результата в виде таблицы - попробуйте превратить ваш контент в массив словарей. Вы можете легко потеряться, пытаясь сделать это с одним плоским массивом. Каждый словарь может содержать массив, определяющий каждую строку в разделе, а также заголовок раздела. Когда приходит время подсчитывать количество разделов или строк, вы просто подсчитываете количество элементов в массиве верхнего уровня (количество разделов) или количество элементов в массиве, содержащем информацию о строках в словаре (количество строк).
int sectionCount = [sectionsArray count];
NSString *sectionTitle = [[sectionsArray objectAtIndex:sectionNumber] valueForKey:@"title"];
int rowCount = [[sectionsArray objectAtIndex:sectionNumber] valueForKey:@"rowContentArray"] count];
// rowObject might be a string, a NSValue, whatever contains the information you want in the table view cell
id rowObject = [[sectionsArray objectAtIndex:sectionNumber] valueForKey:@"rowContentArray"] objectAtIndex:rowNumber];
Другой подход состоит в том, чтобы поместить все ваши полученные данные в Базовые данные, которые вы, возможно, планировали сделать в любом случае, если вам требуется какая-то настойчивость. В этом случае действительно стоит использовать NSFetchedResultsController
.