sortedArrayUsingSelector o que está fazendo?

inda sou novo no objetivo-c e estou tentando descobrir exatamente o que esta declaração está fazend

[names allKeys] sortedArrayUsingSelector:@selector(compare:)];

Eu sei dissoallKeys está recebendo todas as chaves do meu dicionário. Eu sei dissosortedArrayUsingSelector está classificando minha matriz que estou criando. Então eu estou chamando o método de comparação, é aí que eu estou perdido, o que isso está fazendo? No documento da apple, ele diz que "retorna um valor NSComparisonResult que indica se o receptor é maior que, igual a ou menor que um determinado número". Não entendo como a classificação é baseada nesse métod

questionAnswers(10)

yourAnswerToTheQuestion