2013-12-16 4 views
1

Я видел много ответов на stackoverflow. Все ответы говорят, что перегрузка метода невозможна в объективе c. Но в настоящее время я сделал настоящий пример, чтобы он работал на меня. Поэтому я полностью смущен. Может быть, я ошибаюсь, но, согласно концепции Java, я прав. Поэтому любой из них делает меня более ясным, и любая помощь будет очень полезна.Перегрузка метода в объекте c

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 

    [self show]; 
    [self show:@"Foo......"]; 
} 

- (void)show 
{ 
    NSLog(@"Show"); 
} 

- (void)show:(NSString *)str 
{ 
    NSLog(@"Str %@",str); 
} 

Выход

Показать

Str Foo ......

+0

Я видел это, но я не ясно из этого. Но моя концепция понятна anoop –

ответ

2

В C++, вы делаете это, как int add(int, int) с int add(int, int, int). Оба метода имеют то же имя add

однако в Obj-C ваш селектор содержит другое имя как add:first:withSecond: и add:first:withSecond:withThird:, здесь как метод имеет другое имя, не так ли?

Таким образом, ваше имя метода (селектор) изменяется.

+0

Большое спасибо. я понял... –

Смежные вопросы