我在将数据从UITableView传递到UIViewController时遇到了一些麻烦。我在故事板中使用PUSH从我的Cell转到UIViewController,一切都运行良好。当我在UITableView中选择一个单元格时,它会推送到UIViewController,我会得到一个很好的后退按钮来返回UITableView。我的问题是使用PrepareForSegue方法将数据传递给UIViewController ......这就是我正在做的事情:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"ShowUserDetailSegue"])
{
UserDetailViewController *userInfo = segue.destinationViewController;
userInfo.myLabel.text = @"Hello World";
NSLog(@"I'm here");
}
}
显示UIViewController时,标签“myLabel”不会更改。知道为什么吗?
我之前使用过prepareForSegue并且能够传递数据,不知道我缺少什么。
此外,xcode显示所有正确的代码完成,并且没有错误。
谢谢!
答案 0 :(得分:1)
在prepareForSegue
阶段,目标viewController尚未加载它的视图,因此userInfo.myLabel
为零。
向UserDetailViewController
添加新属性,将其设置为您的字符串,然后在viewDidLoad
中将其设置在您的标签中。