У меня есть представление контейнера, в котором используется переход для встраивания раскадровки для загрузки встроенного представления статической таблицы. Идентификатор перехода — «КОНТЕЙНЕР».
Когда я запускаю следующий код, prepareForSegue фактически никогда не вызывается, поэтому данные не передаются от родителя к дочернему.
- (void)viewDidLoad {
[super viewDidLoad];
if ([sGender isEqualToString:@"MALE"]) {
containerGender = @"MALE";
if ([containerGender isEqualToString:@"MALE"]){
NSLog(@"MALE");
}else{
NSLog(@"BROKEN");
}
}
else if ([sGender isEqualToString:@"FEMALE"]) {
containerGender = @"FEMALE";
}
}
-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"CONTAINER"]) {
if([containerGender isEqualToString:@"MALE"]) {
if ([containerGender isEqualToString:@"MALE"]){
NSLog(@"MALE");
}else{
NSLog(@"BROKEN");
}
SportTableViewController *tableView = segue.destinationViewController;
tableView.sportGender = @"MALE";
}
else if ([containerGender isEqualToString:@"FEMALE"]){
SportTableViewController *tableView = segue.destinationViewController;
tableView.sportGender = @"FEMALE";
}
}
}
Мой вопрос:
а) Почему не вызывается prepareForSegue? Отличается ли поведение Storyboard Embed Segue от стандартной последовательности?
б) Есть ли лучший способ передачи данных из представления контейнера во встроенную таблицу?
Также, пожалуйста, игнорируйте беспорядочную реализацию/различные тесты журнала, просто мои попытки понять, что происходит не так.