Как сделать все из загрузки контроллера при запуске приложения (xcode)? - PullRequest
0 голосов
/ 07 сентября 2011

Проблема в том, что когда я что-то делаю, например, ввод @ "Hallo" с кодом для UITextField на другом контроллере, который я не открыл, UITextField все еще равен нулю, но если я уже открыл его раньше, UITextField станет "Привет "

программа, подобная этой

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

, если я никогда не загружал Controller2 до вызова этого метода.Controller2.lblText.text по-прежнему равен нулю, но если я не загрузил Controller2, lblText.text будет isEqual MyString.

проблема в том, если у меня есть 20-50 различных контроллеров, как я могу заставить их все загружатьсяпри запуске запустить приложение?Как заставить контроллер представления открываться для программной загрузки?

Ответы [ 2 ]

1 голос
/ 07 сентября 2011

Не загружайте все ваши контроллеры вида при запуске.ОС выгонит вас из-за использования памяти быстро, если вы попытаетесь.Вместо этого обратите внимание на правильную реализацию парадигмы MVC.Вам необходимо получить доступ к UILabel в другом контроллере представления, чтобы предположить, что структура вашего приложения не совсем верна.

0 голосов
/ 07 сентября 2011

Извините, но как, по вашему мнению, вы можете назначить некоторый текст для UITextField, который даже не существует? Когда вы выделяете и инициализируете контроллер (любой класс), его свойства также создаются (инициализируются), поэтому вы можете получить к ним доступ. Вы должны иметь в виду, что нет никакого способа получить доступ к чему-то или его свойствам, которые не существуют. И почему вы можете получить к ним доступ после загрузки ([alloc init]) Controller2, вероятно, потому, что вы не освобождаете их. Это так просто. Если вы хотите загрузить все из них при запуске, вы можете иметь массив всех классов Controller и позволить циклу foreach проходить через него и выполнять [alloc init] их один за другим. Но поскольку я точно не знаю, для чего предназначено ваше приложение, предложенный метод может быть неуместен в вашей ситуации. Это просто способ делать то, что вы хотите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...