Передать данные для просмотра контроллера из подпредставления iPhone - PullRequest
0 голосов
/ 26 сентября 2010

Вероятно, простой вопрос, но я не нашел решения.У меня есть несколько контроллеров представления с некоторыми ползунками, которые при перетаскивании вводят числа в метку.Я также хочу, чтобы простая всплывающая клавиатура вводила числа в этот же ярлык.Я создал контроллер вида под названием «Клавиатура», и когда на текущем контроллере вида нажимается кнопка, я делаю это:

 - (IBAction)callKeypad:(id)sender
{
    Keypad *keypadController = [[Keypad alloc] initWithNibName:@"Keypad" bundle:nil];
   self.keypadViewController = keypadController;
   [self.view addSubview:keypadController.view];

    [keypadController release];

Клавиатура всплывает с текущим контроллером вида, все еще видимым в фоновом режиме.Когда я нажимаю цифры на клавиатуре, я хочу, чтобы результаты немедленно отображались в текущем контроллере представления.Я предполагаю, что я пытаюсь сделать, чтобы один контроллер представления отправил свой вывод другому контроллеру представления.

Спасибо за любую помощь.

Ответы [ 2 ]

1 голос
/ 26 сентября 2010

У вас довольно много вариантов.

  1. Как говорил Александр Акерс, вы можете использовать делегата и протокол.
  2. Другим вариантом является NSNotificationCenter, который позволяет отправлять сообщения ЛЮБОМУ другому классу, имеющему зарегистрированный интерес.
  3. Самый простой / уродливый вариант - создать метод обновления в своем «собственном» представлении и передать собственное представление подпредставлению, а также при вызове подпредставления вызвать метод обновления при необходимости.
1 голос
/ 26 сентября 2010

Вы должны создать протокол делегата, которому соответствует основной объект, чтобы Keypad мог отправлять сообщения своему делегату (главному объекту).

См. Этот вопрос о том, как создать протокол делегата: Как создать делегатов в Objective-C?

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