Tengo una aplicación para iPhone que actualmente estoy creando en XCode 4.3 con Storyboard. Tengo un controlador de vista "raíz" con dos (2) bloqueos en un controlador de vista que contiene un UIWebView. Quiero poder identificar el segue (ya he establecido identificadores únicos para ambos segmentos) para poder "insertar" el contenido correcto en UIWebView, en función de qué segue se activó en el controlador de vista "raíz".¿Cómo manejar dos segmentos que van al mismo controlador de vista?
Creo que tengo que usar el método "prepareForSegue", pero no sé a dónde iría. ¿Dónde puedo encontrar la forma de tratar con dos segmentos que van al mismo controlador de vista? (Lo he buscado en Google y no encontré nada apropiado para mi situación).
Aquí está el código que estoy usando:
-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"helpSegue"]) {
NSLog(@"helpSegue");
}
else if ([segue.identifier isEqualToString:@"reportSegue"]) {
NSLog(@"reportSegue");
}
}
Gracias, gracias, gracias! Eso es exactamente lo que necesitaba ... – SpokaneDude
Vaya ... lo siento, pero no existe el "método seque.identifier.isEqualToString ... pongo - (void) [prepareForSegue en ViewController.m, que es el único controlador en el proyecto código. Hice algo mal? – SpokaneDude
'-isEqualToString:' es un método (no una propiedad) de NSString. La propiedad 'identifier' de UIStoryboardSegue es un NSString *. Así que lo usa como he mostrado en el código anterior, es decir 'BOOL isEqual = [segue.identifier isEqualToString: @" foo "];'. Es cierto que puede usar la sintaxis de puntos para llamar a cualquier método que no tome un parámetro (aunque en realidad solo debería usarlo para las propiedades), pero '-isEqualToString:' * does * toma un parámetro, por lo que la sintaxis del punto está completamente fuera. – Caleb