Use o NSArray para especificar otherButtonTitles?

O construtor de UIAlertSheet usa um parâmetro otherButtonTitles como uma lista varg. Eu gostaria de especificar os outros títulos de botão de um NSArray. Isso é possível?

ou seja, eu tenho que fazer isso:

id alert = [[UIActionSheet alloc] initWithTitle: titleString
                                  delegate: self
                                  cancelButtonTitle: cancelString
                                  destructiveButtonTitle: nil
                                  otherButtonTitles: button1Title, button2Title, nil];

Mas desde que eu estou gerando a lista de botões disponíveis em tempo de execução, eu realmente quero algo como isto:

id alert = [[UIActionSheet alloc] initWithTitle: titleString
                                       delegate: self
                              cancelButtonTitle: cancelString
                         destructiveButtonTitle: nil
                              otherButtonTitles: otherButtonTitles];

No momento, estou pensando que preciso ter uma ligação separada parainitWithTitle: para 1 item, 2 itens e 3 itens. Como isso:

if ( [titles count] == 1 ) {
     alert = [[UIActionSheet alloc] initWithTitle: titleString
                                         delegate: self
                                cancelButtonTitle: cancelString
                           destructiveButtonTitle: nil
                                otherButtonTitles: [titles objectAtIndex: 0], nil];
} else if ( [titles count] == 2) {
     alert = [[UIActionSheet alloc] initWithTitle: titleString
                                         delegate: self
                                cancelButtonTitle: cancelString
                           destructiveButtonTitle: nil
                                otherButtonTitles: [titles objectAtIndex: 0], [titles objectAtIndex: 1],  nil];
} else {
    // and so on
}

Isso é um monte de código duplicado, mas pode ser razoável, já que eu tenho no máximo três botões. Como posso evitar isso?

questionAnswers(6)

yourAnswerToTheQuestion