Тип, который вы ищете, это селектор (SEL
), и вы получаете селектор метода следующим образом:
SEL littleSelector = @selector(littleMethod);
Если метод принимает параметры, вы просто помещаете :
туда, куда они идут,например:
SEL littleSelector = @selector(littleMethodWithSomething:andSomethingElse:);
Кроме того, методы на самом деле не являются функциями, они используются для отправки сообщений определенному классу (при запуске с +) или конкретному его экземпляру (при запуске с -).Функции имеют C-тип, который на самом деле не имеет "target", как методы.
Получив селектор, вы вызываете этот метод для своей цели (будь то класс или экземпляр) следующим образом:
[target performSelector:someSelector];
Хорошим примером этого является UIControl
addTarget: action: forControlEvents: метод, который вы обычно используете при программном создании UIButton
или некоторых других управляющих объектов.