2013-05-14 105 views
0

如何将数据传递给子视图?将数据传递给子视图


SubviewViewController.h:

@property (weak, nonatomic) IBOutlet UILabel *lblName; 

TableViewController.m:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    // Load SubView  
    SubviewViewController *SVC = [self.storyboard instantiateViewControllerWithIdentifier:@"SubviewViewController"]; 

    SVC.lblName.text = @"TEST"; // It's not working properly. 

    SVC.view.frame = CGRectMake(20, 60, SVC.view.frame.size.width, SVC.view.frame.size.height); 
    [self addChildViewController: SVC]; 
    [SVC didMoveToParentViewController:self]; 
    [self.view addSubview:SVC.view]; 
} 
+0

你的意思是“不正确”是什么意思? – Matthias 2013-05-14 18:32:57

+0

下面@samfisher的回答是正确的,同时检查你是否有这样的行'#import“SubviewViewController.h”;' – Nazir 2013-05-16 14:21:03

回答

1

SVC.lblName.text = @"TEST";不会工作作为标签尚未初始化。原因是有标签的视图直到[self.view addSubview:SVC.view];,因此lblName将是nil ...因此如何解决这个问题?

移动下面[self.view addSubview:SVC.view];此行SVC.lblName.text = @"TEST";将解决财产初始化时SCV.view添加为子视图lblName将被分配属性/出口..

希望这会为你工作的问题,如果一切配对正确地在你的代码中。