Sto provando a passare un oggetto dalla mia classe di visualizzazione principale ad un altro destinatario di notifica in un'altra classe.Passare l'oggetto con NSNotificationCenter ad altra vista
Voglio passare un oggetto denominato country, che carica tutte le città da una richiesta SOAP nel controller principale e voglio inviarlo alla mia vista successiva.
paese = [[Assegnazione del paese] init];
Paese intestazione:
@interface Country : NSObject
{
NSString *name;
NSMutableArray *cities;
}
@property (nonatomic,retain) NSString *name;
- (void)addCity:(Cities *)city;
- (NSArray *)getCities;
- (int)citiesCount;
@end
ho trovato un modo per passare i dati con NSNotificatios utilizza un NSDictionary in UserInfo. Ma non è possibile inviare l'intero oggetto invece di convertirlo in un NSDictionary? O qual è il modo migliore per trasferirlo? Sono bloccato cercando di capire come passare gli oggetti.
In realtà ho lavorato a questa semplice NSNotification sulla mia app.
NSNotification nell'attuazione principale View Controller:
//---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 in 2View realizzazione Controller:
// 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];
Grazie! Funziona come un fascino. Ho frainteso il concetto di un NSDictionary ma so che è più chiaro. –
Grazie, amico! Stavo usando il metodo sbagliato e ricevevo totalmente la notifica ma non l'userInfo. Saluti. – Felipe