【发布时间】:2013-11-08 08:04:25
【问题描述】:
我有一个容器视图,它使用情节提要嵌入 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)有没有更好的方法将数据从容器视图传递到嵌入表?
另外请忽略凌乱的实现/各种日志测试,只是我试图找出问题所在。
【问题讨论】:
-
其实不是,我很清楚如何传递数据。很明显,我的问题来自对容器视图如何工作的简单误解。
标签: ios ios7 uistoryboardsegue pass-data uicontainerview