Pregunta

Soy nuevo en el desarrollo del iPhone. ¿Cómo puedo llevar a un valor de cadena de View2 a Vista1 al utilizar la barra de navegación. No tengo ningún problema en llevar los valores de cadena de Vista1 a View2 a vista3 a .... utilizando pushviewcontroller Pero cuando vuelvo a vistas anteriores utilizando el botón Atrás de la barra de navegación, no puede capaz de valores de cadena de retención. Necesito su ayuda para resolver este problema.

Gracias de antemano

¿Fue útil?

Solución

Esta cosa se puede hacer fácilmente si el pase de la referencia de la clase actual a la siguiente clase y cambiar los valores mediante el uso de esta referencia.

Al igual que: La clase que es para ser empujado.

@interface B:UIViewController{
   id delegate;
}
@property (nonatomic,retain) id delegate;
@end

@implementation B
@synthesize delegate;

-(void)methodA{
  [delegate setNewString2:@"Madhup"];
}

@end

La clase de la que usted está empujando B:

@interface A:UIViewController{
   NSString *newString;
}
@property (nonatomic,retain)  NSString *newString;
@end


 @implementation A
 @synthesize newString
- (void)method2{
     B *newBObject = .......;
     [newBObject setDelegate:self];
     [self.navigationController pushViewCo.......];
  }
 @end

Espero que esto ayude.

Otros consejos

Hay más de una manera de hacer esto. Aquí están algunos:

  1. Se puede acceder a todos los controladores de vista de la pila de navegación a través de la propiedad viewControllers del mando de navegación: self.navigationController.viewControllers

  2. Se puede llegar al controlador de vista anterior (es decir, el que empuja el controlador de corriente en la pila de navegación) a través de la propiedad parentViewController: self.parentViewController

  3. Puede utilizar el patrón de delegado, en el que el anterior (padre) controlador de vista sería la corriente (niño) delegado del controlador.

  4. Puede mantener una referencia (retener) al controlador de niño en el controlador de matriz.

En los primeros 3, el controlador niño sería responsable de entregar los datos al controlador de matriz. En el cuarto, el padre podría obtener los datos de los niños antes de soltarlo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top