我正在一个包含两个标签页的项目上工作。在我的第一个视图控制器中,我试图调用位于第二个视图控制器中的一个方法。第二个视图控制器上的方法会更新这个视图控制器上的一个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;
}