Use NSArray para especificar otherButtonTitles?
El constructor de UIAlertSheet toma un parámetro otherButtonTitles como una lista varg. Me gustaría especificar los otros títulos de botones de una NSArray en su lugar. es posible?
es decir, tengo que hacer esto:
id alert = [[UIActionSheet alloc] initWithTitle: titleString
delegate: self
cancelButtonTitle: cancelString
destructiveButtonTitle: nil
otherButtonTitles: button1Title, button2Title, nil];
Pero como estoy generando la lista de botones disponibles en tiempo de ejecución, realmente quiero algo como esto:
id alert = [[UIActionSheet alloc] initWithTitle: titleString
delegate: self
cancelButtonTitle: cancelString
destructiveButtonTitle: nil
otherButtonTitles: otherButtonTitles];
En este momento, estoy pensando que necesito tener una llamada separada ainitWithTitle:
para 1 artículo, 2 artículos y 3 artículos. Me gusta esto:
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
}
Eso es mucho código duplicado, pero en realidad podría ser razonable ya que tengo como máximo tres botones. ¿Cómo puedo evitar esto?