Стандартным способом является использование селекторов , как указано в ответе Маттео.
Вы также можете посмотреть на Блоки Objective-C .Они становятся очень распространенными в API-интерфейсах CocoaTouch, и вы можете делать с ними очень приятные вещи.Результирующую архитектуру вашего класса часто легче понять IMO.
Например, этот метод из UIView
+ (void)animateWithDuration:(NSTimeInterval)duration
animations:(void (^)(void))animations
completion:(void (^)(BOOL finished))completion
Принимает два блока, один из которых выполняет код для реальной анимации, иодин для кода после завершения анимации.Вы можете вызвать это с помощью переменных блока или написать встроенный код:
...animations:^{
// animation code
}
completion:^(BOOL finished) {
// completion code
}
Получающий метод (в данном случае animateWithDuration: ...) просто вызовет эти блоки в какой-то момент, например:
animations();