Краткий ответ: нет.
Objective-C не поддерживает перегрузку функций / методов, как в C ++.
Обычно, если вам нужно поддерживать разные типы данных, вы создадите разные методы,Обратите внимание, что затем вы можете сами преобразовать переданное значение, поэтому вам не нужно писать (копировать / вставлять) один и тот же код.
Например:
- ( void )methodWithInt: ( int )val
{
[ self methodWithNumber: [ NSNumber numberWithInt: val ] ];
}
- ( void )methodWithLong: ( long )val
{
[ self methodWithNumber: [ NSNumber numberWithLong: val ] ];
}
- ( void )methodWithNumber: ( NSNumber * )num
{
/* Effective code */
}
В конце все будет перенаправлено на метод methodWithNumber
.