есть ли в Objective-C или iPhone SDK эквивалент «слушателя фокуса» (Исходя из Java) - PullRequest
0 голосов
/ 24 марта 2010

Я студент-программист, который занялся Objective-C в свободное время, так как мой колледж этому не учит До сих пор мы использовали только Java и базовый Си. Я нахожусь в процессе создания программы для iPod, и мне было интересно, есть ли какой-либо способ вызова метода в классе, подобный тому, как это делает Focus Listener в Java? У меня есть представление, что я хотел бы вызвать метод обновления (чтобы обновить вновь введенные заголовки кнопок из другого представления), когда представление помещается сверху и снова отображается. Это слишком просто или есть более методичный способ сделать это? Я попытался просто вызвать метод из другого класса представления, но он, кажется, не работает (говорит, что другой класс либо не определен, либо может не принять вызов метода и вылетает при выполнении).

Любое понимание будет оценено. Спасибо за ваше время.

1 Ответ

2 голосов
/ 24 марта 2010

Не знаю, хорошо ли я понял проблему, но когда видимость видна, метод "viewDidAppear:" вызывается в UIViewController.

В противном случае эквивалентом шаблона Listener в Objective-C является NSNotification. Вы можете добавить Обозреватель следующим образом:

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

И Наблюдатель обработал свое сообщение так:

[[NSNotificationCenter defaultCenter] postNotification:[NSNotification notificationWithName:@"aNotification" object:nil]];
...