О том что такое селектор можно почитать в официальном руководстве.
В примере ниже из метода test вызывается метод printString:, которому передаётся строка в качестве аргумента:
- (void)test
{
SEL theMyMethod = @selector(printString:);
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Warc-performSelector-leaks"
[self performSelector:theMyMethod withObject:@"Здравствуй, мир!"];
#pragma clang diagnostic pop
}
- (void)printString:(NSString *)aString
{
NSLog(@"%@", aString);
}
Если убрать -Warc-performSelector-leaks, то будет появляться предупреждение "PerformSelector may cause a leak because its selector is unknown".
Селекторы можно использовать для реализации лямбда методов.
Селекторы можно использовать для реализации лямбда методов.