将数据传递给子视图
问题描述:
如何将数据传递给子视图?将数据传递给子视图
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];
}
答
SVC.lblName.text = @"TEST";
不会工作作为标签尚未初始化。原因是有标签的视图直到[self.view addSubview:SVC.view];
,因此lblName
将是nil
...因此如何解决这个问题?
移动下面[self.view addSubview:SVC.view];
此行SVC.lblName.text = @"TEST";
将解决财产初始化时SCV.view
添加为子视图lblName
将被分配属性/出口..
希望这会为你工作的问题,如果一切配对正确地在你的代码中。
你的意思是“不正确”是什么意思? – Matthias 2013-05-14 18:32:57
下面@samfisher的回答是正确的,同时检查你是否有这样的行'#import“SubviewViewController.h”;' – Nazir 2013-05-16 14:21:03