我正在开发一个带有两个选项卡的项目。在我的第一个视图控制器上,我试图调用位于我的第二个视图控制器中的方法。第二个视图控制器上的方法更新这个第二个视图控制器上的 UILabel。问题是第二个视图控制器在启动时没有初始化,因此没有正确调用该方法。我可以使用以下手动初始化第二个视图控制器
if (secondView==nil) {
secondView = [[SecondView alloc]init];
}
然后启动该方法(通过在所述方法上放置断点进行测试并验证它确实触发),但我的 UILabel 没有更新,这让我相信第二个视图控制器是在不同的线程上初始化的。
我的问题是:如何在同一个线程上初始化第二个视图控制器,以便当我单击该选项卡时 UI 会更新?有没有办法在 appDelegate 中做到这一点?
我已验证 IBOutlet 已正确连接到标签,.h 文件已正确导入,并且 SecondViewController 的方法在 .H 文件中说明。
代码如下:
FirstViewController.m
-(void)myMethod
{
[secondView updateLabel];
}
SecondViewController.m
-(void)updateLabel
{
myLabel.text = myString;
}