Próbuję przekazać obiekt z mojej głównej klasy widoku do innego odbiorcy powiadomienia w innej klasie.Przekaż obiekt z NSNotificationCenter do innego widoku
Chcę przekazać obiekt o nazwie country, który ładuje wszystkie miasta z żądania SOAP w głównym kontrolerze i chcę wysłać go do mojego następnego widoku.
country = [[Kraj przydział] init];
Kraj nagłówek:
@interface Country : NSObject
{
NSString *name;
NSMutableArray *cities;
}
@property (nonatomic,retain) NSString *name;
- (void)addCity:(Cities *)city;
- (NSArray *)getCities;
- (int)citiesCount;
@end
znalazłem sposób, aby przekazać dane z NSNotificatios stosuje NSDictionary w userinfo. Ale nie można wysłać całego obiektu zamiast konwertować do NSDictionary? Lub jaki jest najlepszy sposób na przeniesienie go? Utknąłem próbując dowiedzieć się, jak przekazać przedmioty.
Właściwie pracowałem nad tym prostym programem NSNotification w mojej aplikacji.
NSNotification w realizacji Widok główny kontroler:
//---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 w 2View wdrożenie Kontroler:
// 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];
Dzięki! Działa jak marzenie. Źle zrozumiałem koncepcję NSDictionary, ale wiem, że jest bardziej zrozumiała. –
Dzięki, kolego! Użyłem niewłaściwej metody i otrzymałem powiadomienie, ale nie userInfo. Twoje zdrowie. – Felipe