Это не сработает, потому что они не одинаковы. id*
будет ближе к NSNumber**
, так как метод принимает указатель на указатель. Итак, ваш метод будет выглядеть так:
-(void)validateAge:(NSNumber**)ioValue error:(NSError**)outError
Но в этом есть НЕТ смысл. id
будет отлично работать для всего, что вам нужно сделать, и если вы измените его, а затем откорректируете этот атрибут, вы сможете внести небольшую ошибку в ваше приложение.
Краткий ответ, да, вы можете изменить тип входного параметра; но вы действительно не должны.