Оператор селектора предоставляет способ обращения к методу, предоставленному объектом, чем-то похожим на указатель на функцию в C. Это полезно, потому что позволяет разделить процесс вызова методов на объекте. Например, один фрагмент кода может предоставить метод, а другой фрагмент кода может применить этот метод к заданному набору объектов.
Примеры:
Проверка, реализует ли объект определенный метод:
[object respondsToSelector:@selector(methodName)]
Сохранить метод для последующего вызова объекта;
SEL method = @selector(methodName);
[object performSelector:method];
Вызов метода в другом потоке (полезно для работы с графическим интерфейсом).
[object performSelectorOnMainThread:@selector(methodName)]