Есть ли лучший способ? Зависит от того, что вы подразумеваете под «лучше».
Ваш код правильный и достаточно простой для понимания.
Предполагая, что teamRoster
является свойством типа NSMutableArray
, вы можете просто отсортировать его по месту:
[[appDelegate teamRoster] sortUsingSelector:@selector(caseInsensitiveCompare:)];
Но могут быть причины НЕ делать это таким образом, например, для производительности или параллелизма.
С другой стороны, вы можете защитить массив teamRoster
от изменения кодом вне делегата приложения, и в этом случае вы должны сделать его доступным только как неизменяемый NSArray, и вы не сможете чтобы использовать его для сортировки.