使用push的prepareForSegue UITableViewController

时间:2014-03-06 16:37:57

标签: ios uitableview uiviewcontroller

我在将数据从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显示所有正确的代码完成,并且没有错误。

谢谢!

1 个答案:

答案 0 :(得分:1)

prepareForSegue阶段,目标viewController尚未加载它的视图,因此userInfo.myLabel为零。

UserDetailViewController添加新属性,将其设置为您的字符串,然后在viewDidLoad中将其设置在您的标签中。