我对目标 c 和 ios 开发完全陌生,我只是试图导航到故事板上的新场景,并在导航时将 UIlabel 的文本更改为某些内容。
我设置的方式是我有一个 View 控制器和一个 tableview 控制器,每个控制器都有自己的头文件和实现文件。我正在使用视图控制器上的按钮的 segue 导航到 tableview。
我确实阅读了这篇堆栈溢出帖子(如何在故事板转场之间传递信息?),它解释了如何在转场上传递值并已实现它:
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
NSLog(@"prepareForSegue: %@", segue.identifier);
if([segue.identifier isEqualToString:@"navtotablebut"])
{
TableViewController *testcontroller = segue.destinationViewController;
testcontroller.testpass.text = @"Testing123";
NSLog(@"%@",[NSString stringWithFormat:@"testpass has been changed to %@", testcontroller.testpass.text]);
}
}
日志验证此 segue 方法确实被调用,并且它能够正确识别我给它的 id (navtotablebut)。然后,我尝试将 tableview 控制器上 UIlabel 的 text 属性的值设置为简单的字符串“Testing123”。然而,这种变化不仅没有反映在新屏幕上,而且我之后的打印语句似乎认为 testcontroller.testpass.text 等于(null)。
我在这里做错了什么吗?