Вы можете сделать свой метод так:
-(void)updateTheValue:(NSObject *)anObject
// or use -(void)updateTheValue:(id)anObject
{
if ([anObject isKindOfClass:[NSString class]]) {
// Do your string handling here
}
else if ([anObject isKindOfClass:[NSNumber class]]) {
// Do your number handling here
}
}
Используйте это так:
[self updateTheValue:[NSNumber numberWithInt:42]];
Я бы предложил использовать два разных метода, то есть updateTheValueWithInt:
и updateTheValueWithString:
, чтобы было легче читать и понимать.
Перед тем, как использовать их, убедитесь, что вы подписали метод, чтобы компилятор знал, что он делает.
Если вы используете отдельные методы, вы можете использовать int
напрямую, не заключая их в NSNumber
объекты.