Como realizar pesquisa binária no NSArray?

Qual é a maneira mais simples de fazer uma pesquisa binária em um (já) classificadoNSArray?

Algumas maneiras possíveis que tenho visto até agora incluem:

O uso deCFArrayBSearchValues (mencionadoAqui) - isso funcionaria em umNSArray?

O métodoindexOfObject:inSortedRange:options:usingComparator: doNSArray assume que a matriz é classificada e leva umopts param do tipoNSBinarySearchingOptions Isso significa que ele realiza uma pesquisa binária? odocs apenas diga:

Retorna o índice, dentro de um intervalo especificado, de um objeto comparado com elementos no array usando um determinado bloco NSComparator.

Escrevo meu próprio método de busca binária (algo ao longo das linhas deisto).

Devo acrescentar que estou programando para iOS 4.3+

Desde já, obrigado.

questionAnswers(5)

yourAnswerToTheQuestion