1

我有一个单视图应用程序。它有 myAppDelegate 和 myViewController。在我从一本书中完成的早期学习项目中,myViewController.h 包含以下内容:

IBOutlet UILabel *textField;

为了在 iPhone 上向该标签显示文本,您需要在 myViewController.m 中添加以下内容:

[textField setText:@"Hello World!"];

它奏效了!漂亮的!但是......我如何从 myAppDelegate 完成相同的任务?如果我将同一行放在 myAppDelegate.m 的上方,则在里面:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

我收到一个错误:使用未声明的标识符“textField”。

所以我可以从 myAppDelegate 将文本打印到 myViewController 内的同一个标签吗?

谢谢!!

4

1 回答 1

1

最好的答案可能是,“不要……因为视图控制器应该对自己的视图负责。”

但是,实际上,您需要引用您的视图控制器才能更改其属性之一。语法将是某种形式[controller.textField setText:@"Hello World!"];,但以您自己的变量名作为目标。确切的陈述将取决于您的didFinishLaunchingWithOptions:方法中当前的内容以及您的应用程序委托和视图控制器如何相互连接。

于 2012-06-23T12:42:20.680 回答