Выполняет действие для одного представления, а действие делает что-то для другого представления?Это возможно? - PullRequest
0 голосов
/ 22 сентября 2011

У меня есть 2 просмотра:

  • OneViewController
  • TwoViewController

TwoViewController имеет IBAction, который воспроизводит звук.После того, как пользователь нажал кнопку на TWoViewController, я хочу UILabel, который появится на OneViewController, сообщая, что звук воспроизводился.

Спасибо за помощь

Ответы [ 2 ]

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

Одним из возможных решений является использование уведомлений .

В действии, которое воспроизводит звук, отправьте уведомление в центр уведомлений по умолчанию, который указывает, что звук воспроизводился.

[[NSNotificationCenter defaultCenter] postNotificationName:"playSoundNotification"
                                                    object:self 
                                                  userInfo:nil];

Когда OneViewController создан, он должен зарегистрироваться для уведомления.

[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(showPlayedLabel:)                                                 
                                             name:"playSoundNotification"
                                           object:nil];

При получении уведомления - в showPlayedLabel: - отобразить UILabel. Обратите внимание, что showPlayedLabel должен следовать соответствующему формату подписи.

- (void) showPlayedLabel:(NSNotification*) aNotification;
1 голос
/ 22 сентября 2011

Все, что вам нужно сделать, это сослаться на один viewController в другом, чтобы вы могли вызывать его методы.Или вы можете просто создать делегата.

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