Итак, у меня есть базовое приложение, вот как оно работает. У меня есть контроллер корневого представления с именем A и контроллер табличного представления с именем B. И когда пользователь выбирает строку в B, я возвращаюсь к контроллеру корневого представления A.
И я пытаюсь передать данные строки, выбранной как NSString, обратно контроллеру корневого представления A. А затем использовать эту строку, чтобы «что-то сделать» в зависимости от строки.
Я пробовал использовать метод NSNotification, но потом не могу использовать строку для чего-то.
Вот что я пробовал:
//tableViewB.m
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[[NSNotificationCenter defaultCenter] postNotificationName:@"passData" object:[[_objects objectAtIndex:indexPath.row] objectForKey:@"title"]];
[self.navigationController popToRootViewControllerAnimated:YES];
}
//rootViewA.m
-(void)dataReceived:(NSNotification *)noti
{
NSLog(@"dataReceived :%@", noti.object);
}
-(void)viewDidLoad {
[super viewDidLoad];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(dataReceived:) name:@"passData" object:nil];
}
То, что я пытаюсь сделать, больше похоже на то, что вы можете сделать, когда вы нажимаете viewController и используете метод perpareForSegue.
Заранее спасибо за помощь.