我有一个容器视图,它使用故事板嵌入segue来加载嵌入的静态表视图。赛格ID是'容器'。如何将数据从父窗口传递给子窗口?
当我运行下面的代码时,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不叫?故事板是否嵌入Segue的行为与标准Seque行为不同?
b)有没有更好的方式将数据从容器视图传递到嵌入表?
也请忽略凌乱的执行/各种日志测试,只是我试图找出什么是错误的。
[在视图控制器之间传递数据](http://stackoverflow.com/questions/5210535/passing-data-between-view-controllers) –
其实它不是,我很清楚如何通过数据。它显然是我的问题来自于对容器视图如何工作的一个简单误解。 –