Это ваша проблема:
[self performSelector:@selector(_selector)];
A SEL
- это тип, представляющий имя метода. @selector
- это директива компилятора, которая преобразует буквенный текст внутри скобок в SEL
.
Но _selector
, ваш ивар, уже содержит a SEL
. Вы конвертируете text"_selector" в SEL
, а затем пытаетесь использовать это. Поскольку в целевом классе не существует метода с селектором _selector, вы получаете исключение.
Измените строку на:
[self performSelector:_selector];
и все должно быть денди. При этом используется SEL
, который вы уже сохранили в переменной _selector
.
Также, вообще говоря, отправьте свой реальный код изначально.