Обновление меток на другом UIViewController - PullRequest
1 голос
/ 09 января 2012

Я все еще новичок в разработке для iOS, и я хотел знать, как чего-то добиться. У меня есть объекты UIViewController FirstController и SecondController. В файле NIB для FirstController у меня есть UITextField. В файле NIV для SecondController у меня есть UILabel.

Что я хочу сделать, так это обновить UILabel новым значением при обновлении UITextVew. Пока что в моем FirstController есть следующее:

    - (IBAction)tbxName_EditingChanged:(id)sender;

В SecondController у меня есть ярлык в Outlet Collection примерно так:

    @property (retain, nonatomic) IBOutletCollection(UILabel) NSArray *lblName;

Теперь я сделал коллекцию, потому что я намерен в будущем добавить больше меток, которые необходимо будет изменить и которые имеют одинаковое значение.

Итак, что я подумал, что мне нужно сделать, это поместить ссылку моего SecondController в мой FirstController, чтобы я мог затем запустить собственный метод update. Примерно так:

    FirstController *viewController1 = [[[FirstController alloc] initWithNibName:@"FirstController" bundle:nil] autorelease];
    SecondController *viewController2 = [[[SecondController alloc] initWithNibName:@"SecondController" bundle:nil] autorelease];
    viewController1.secondView = viewController2;
    // do the rest to load the views...

Теперь я узнал, что многое из того, что я изучил в .net, - это не то, как вы делаете вещи в Задаче C. Мне было интересно, это то, что я должен делать, или есть другой Кстати, что я не нахожу с Google?

Спасибо за любую помощь, и я надеюсь, что я объяснил это достаточно ясно.

1 Ответ

3 голосов
/ 09 января 2012

Решение подобных проблем предсказуемым, проверенным способом - вот основная идея шаблона проектирования Model-View-Controller .Дело в том, что вы хотите, чтобы первый UIViewController обновил модель, что будет сигнализировать второму UIViewController обновлять его представление.

Я бы предложил где-нибудь модель.Либо с помощью singleton , сначала инициализированного в делегате приложения, либо core data , который немного более продвинутый, но очень мощный.

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