我有一个容器视图,它使用情节提要嵌入 segue 来加载嵌入式静态表视图。segue ID 是'CONTAINER'。
当我运行以下代码时,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";
}
}
}
我的问题是:
a) 为什么没有调用 prepareForSegue?Storyboard Embed Segue 的行为是否与标准序列不同?
b)有没有更好的方法将数据从容器视图传递到嵌入式表?
也请忽略凌乱的实现/各种日志测试,只是我试图找出问题所在。