Селектор метода - просто displayNameBy:
. name
в конце - это имя параметра. Однако я не знаю, откуда вы ожидаете этот параметр NSString *name
. Аргументом для метода действия является отправитель, который в этом случае будет кнопкой. Так было бы - (void)displayNameBy:(id)sender
.
Если вы пытаетесь передать параметр через селектор, это невозможно. Селектор буквально просто имя - он не определяет какого-либо конкретного поведения.
Если вы хотите использовать PLBlocks , вы можете создать класс батута, который будет называться как:
[myButton setTarget:[BlockProxy proxyWithBlock:^{ [self displayNameBy:name]; }] action:@selector(call:) forControlEvents:UIControlEventTouchUpInside];
Это самое близкое, я думаю. Потому что вы действительно хотите, чтобы кнопка вызывала замыкание, что дает вам PLBlocks. Стоит ли того, чтобы получить такую выразительность, вы звоните.