【发布时间】:2012-06-25 03:37:28
【问题描述】:
我想从 appDelegate 更新我的一个 ViewController 中的标签。视图控制器中的 Label 都在 IB 中链接并设置了属性。
在 AppDelegate .h中
我正在为视图控制器创建一个 ivar,因此我可以像这样从委托访问视图控制器上的标签。
someViewController *myView;
在 AppDelegate.m 文件中
myView.theLabel.text = @"Whatever";
我也试过myView.theLabel setText: @"whatever";
我还尝试将 myView 设为属性并将其合成。我已经尝试过applicationDidFinishLaunching 和applicationWillEnterForeground 中的代码,但是标签永远不会更新。最好的方法是什么?
【问题讨论】:
-
您是在应用程序委托中实例化控制器,还是通过任何其他方式获取对此控制器实例的引用?
-
.h 中的 @Alladinian 如上所述,我创建了一个 ivar someViewController *myView 并以这种方式访问标签。 someViewController.h 标头已添加到 appDelegate.h 和 appDelegate.m 中,但不确定您的意思。感谢您的回复。
-
@Alladinian 对不起,我很抱歉,不,如果我在访问 someViewController *myView = [[someViewController alloc]initWithNibName:@"someViewController" 的标签上方做,我不会从 appdelegate 实例化视图控制器呸呸呸呸?
-
要在控制器中设置标签,您必须在分配/初始化/呈现它之后获取它的引用。您的视图控制器在哪里以及如何添加到窗口中?
标签: ios uiviewcontroller uilabel uiapplicationdelegate settext