Я использую класс NSNotificationCenter
для трансляции, когда модель моего приложения изменяется так, что может заинтересовать другой класс. Я следую стандартной практике, примерно так:Как регистрировать уведомления NSNotificationCenter в файле заголовка
NSNumber *myData = [NSNumber numberWithInt:42];
NSDictionary *myDict =
[NSDictionary dictionaryWithObject:myData
forKey:@"data"];
NSString *myNotificationKey = @"mynote";
[[NSNotificationCenter defaultCenter] postNotificationName:myNotificationKey
object:self
userInfo:myDict];
Ничего нового. Вот мой вопрос: как мне «объявить» уведомления, которые я могу опубликовать, чтобы другие разработчики знали, что слушать? Я не имею в виду буквально заявить, но как мне сообщить, чего ожидать, помимо написания отдельной документации? Я хочу, чтобы кто-то, используя мой класс, мог посмотреть заголовочный файл и определить, какие уведомления они могут ожидать. Я мог бы сделать что-то вроде этого ...
// in MyClass.h
/*
* NOTIFICATIONS
* Name: mynote
* UserInfo: {data : (NSNumber *)}
* Name: myothernote
* etc....
*/
Но это довольно неуклюже. Единственная возможность разместить такую информацию в отдельной документации?
Сторона примечания - используйте новый синтаксис Objective-C: 'NSDictionary * myDict = {@" data ": @ 42};'. – rmaddy
Спасибо! Только одна сторона-примечание: я считаю, что вы опустили ведущий '@'; должен быть 'NSDictionary * myDict = @ {@" data ": @ 42};'. – ravron
Да, я это сделал. Сожалею. Хороший улов. – rmaddy