@marisa
Чтобы добавить наблюдателя за уведомлениями в NSNotificationCenter в Objective-C, следуйте этим шагам:
- Создайте метод, который будет вызываться при получении уведомления. Этот метод должен иметь один аргумент типа NSNotification (это объект уведомления).
1
2
3
|
- (void)handleNotification:(NSNotification *)notification {
// Ваш код обработки уведомления здесь
}
|
- В нужном месте вашего кода добавьте регистрацию наблюдателя для определенного уведомления. Для этого используйте метод addObserver:selector:name:object: у экземпляра NSNotificationCenter. В качестве параметров передайте объект, который будет служить вам наблюдателем (обычно это self), селектор метода, который будет вызываться при получении уведомления, имя уведомления и объект, от которого нужны только конкретные уведомления (передайте nil, чтобы получать все уведомления данного имени).
1
2
3
4
|
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(handleNotification:)
name:@"MyNotificationName"
object:nil];
|
- Ваш наблюдатель теперь будет вызван каждый раз, когда будет отправлено уведомление с указанным именем. Обязательно удалите наблюдателя, когда он больше не нужен (например, в методе dealloc):
1
|
[[NSNotificationCenter defaultCenter] removeObserver:self];
|
Помните также, что передаваемый объект в уведомление может быть использован для передачи дополнительных данных. Вы можете получить этот объект из свойства object
у объекта NSNotification в вашем методе обработки уведомления:
1
2
3
4
|
- (void)handleNotification:(NSNotification *)notification {
id myObject = notification.object;
// Ваш код обработки уведомления здесь
}
|