如何在启动启动应用程序(xcode)中完成所有Controller Load?

时间:2011-09-07 04:17:48

标签: xcode load viewcontroller

问题是,当我执行某些操作时,例如输入@“Hallo”,并在不打开的控制器上输入UITextField的代码,UITextField仍为空,但如果我之前已经打开它,则UITextField将变为“喂“

像这样的程序

+(void)MakeController2LblTextIsLikeMyStringAtController1{
         Controller2.lblText.text=MyString;
}

如果我在调用此方法之前从未加载过Controller2。 Controller2.lblText.text仍为null,但如果我没有加载Controller2,则lblText.text将为isEqual MyString。

问题是,如果我有20-50个不同的Controller,如何在启动启动应用程序中加载所有它?如何强制打开视图控制器以编程方式加载?

2 个答案:

答案 0 :(得分:1)

请勿在启动时加载所有视图控制器。如果您尝试,操作系统会因内存使用情况而将您赶出去。相反,请考虑正确实现MVC范例。您需要在另一个视图控制器中访问UILabel,这表明您的应用程序结构不太合适。

答案 1 :(得分:0)

对不起,您认为如何将一些文本分配给甚至不存在的UITextField?当您分配并初始化控制器(任何类)时,也会创建(初始化)其属性,因此您可以访问它们。你必须记住,没有办法访问不存在的东西或其属性。  加载([alloc init])后,为什么你可以访问它们可能是因为你没有释放它们。这很简单。  如果你想在启动时加载所有这些,你可以拥有一个所有Controller类的数组,并让foreach循环遍历它并逐个[alloc init]它们。但是,由于我并不知道您的应用程序的用途,建议的方法可能与您的情况无关。这只是一种做你想做的事情。