Estoy tratando de pasar un objeto de mi clase de vista principal a otro receptor de notificación en otra clase.Pasar objeto con NSNotificationCenter a otra vista
Quiero pasar un objeto llamado country, que carga todas las ciudades desde una solicitud SOAP en el controlador principal y quiero enviarlo a mi siguiente vista.
country = [[Country alloc] init];
cabecera País:
@interface Country : NSObject
{
NSString *name;
NSMutableArray *cities;
}
@property (nonatomic,retain) NSString *name;
- (void)addCity:(Cities *)city;
- (NSArray *)getCities;
- (int)citiesCount;
@end
he encontrado una manera de pasar los datos con NSNotificatios está utilizando un NSDictionary de información del usuario. ¿Pero no es posible enviar el objeto completo en lugar de convertirlo a un NSDictionary? ¿O cuál es la mejor manera de transferirlo? Estoy atrapado tratando de descubrir cómo pasar los objetos.
En realidad tengo trabajando esta simple NSNotification en mi aplicación.
NSNotification en la aplicación principal Vista Controlador:
//---Call the next View---
DetailViewController *detail = [self.storyboardinstantiateViewControllerWithIdentifier:@"Detail"];
[self.navigationController pushViewController:detail animated:YES];
//--Transfer Data to2View
[[NSNotificationCenter defaultCenter] postNotificationName:@"citiesListComplete" object:nil];
NSNotification en 2Ver aplicación Controlador:
// Check if MSG is RECEIVE
- (void)checkMSG:(NSNotification *)note {
NSLog(@"Received Notification");
}
- (void)viewDidLoad
{
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(checkMSG:)
name:@"citiesListComplete" object:nil];
Gracias! Funciona de maravilla. No entendí el concepto de NSDictionary, pero sé que es más claro. –
¡Gracias, amigo! Estaba usando el método incorrecto y estaba recibiendo la notificación totalmente, pero no la userInfo. Aclamaciones. – Felipe