2013-05-14 111 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將被分配屬性/出口..

希望這會爲你工作的問題,如果一切配對正確地在你的代碼中。