Передать объект с NSNotificationCenter другому представлению

Я пытаюсь передать объект из моего основного класса представления другому получателю уведомлений в другом классе.

Я хочу передать объект с именем country, который загружает все города из запроса SOAP в главный контроллер, и я хочу отправить его в свое следующее представление.

country = [[Country alloc] init];

Заголовок страны:

@interface Country : NSObject
{
    NSString *name;
    NSMutableArray *cities;
}

@property (nonatomic,retain) NSString *name;

- (void)addCity:(Cities *)city;
- (NSArray *)getCities;
- (int)citiesCount;    
@end

Я нашел способ передавать данные с помощью NSNotificatios, используя NSDictionary в UserInfo. Но невозможно отправить весь объект вместо преобразования в NSDictionary? Или как лучше передать? Я застрял, пытаясь понять, как передать предметы.

На самом деле я начал работать с этим простым NSNotification в моем приложении.

NSNotification в реализации контроллера основного представления:

//---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 в реализации контроллера 2View:

 // 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];
9
задан Jorge Najera T 22 November 2011 в 20:31
поделиться