在segue之后无法更改目标视图中的值

时间:2012-08-25 18:45:38

标签: uitableview segue

我有一个简单的主/细节tableview。为了让我在master中选择到详细视图,我使用以下代码在详细视图中设置标签(lTest)。

但是,似乎此代码在不同视图之前/之后运行,因为它不会返回错误,但lTest的值不会更改(在segue之后屏幕上不可见)。

(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([[segue identifier] isEqualToString:@"showDetail"]) {
        NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];        
        ViewController *Targetview = segue.destinationViewController;
        Targetview.lTest.text=[NSString stringWithFormat:@"Row %d",indexPath.item];
    }
}

如何在其他视图中更改标签?

1 个答案:

答案 0 :(得分:1)

在执行viewDidLoad:之前,您的新控制器不应设置任何视图。为其提供一个字符串属性,以便在lTest期间保存您希望prepareForSegue:拥有并存储到该文本的文本,然后在ViewController内更新标签的文本。