Во всех учебных пособиях или примерах, которые я нахожу, они показывают двоеточие после имени селектора (getCurrentData:
), например:
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(getCurrentData:)
name:@"mapsReceived"
object:nil ];
Поскольку в примерах нет ничего после этого двоеточия, я предполагаю, что указанный метод не принимает никаких аргументов. И мой тоже нет, но когда я использую приведенный выше синтаксис, мое приложение вылетает и говорит unrecognized selector sent to instance
Я удаляю двоеточие, и оно работает. Так почему же все примеры показывают двоеточие?
Во-вторых, если я использовал селектор, требующий аргумента, как я могу это сделать? Если я сделаю это:
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(createButtons:@"ten grand";)
name:@"mapsReceived"
object:nil ];
Он даже не скомпилируется; Я получаю тонны ошибок, пока не удалю текстовую строку и двоеточие. Тем не менее, я могу вызвать этот метод со строкой, просто отлично, когда он используется вне NSNotification. Есть ли способ сделать то, что я хочу здесь?