2013-12-16 9 views
1

나는 stackoverflow에 대한 많은 답을 보았다. 모든 대답은 객관적으로 불가능한 메소드 오버로드를 말합니다. c. 그러나 현재 나는 실제 사례를 만들었으므로 나를 위해 일하고있다. 그래서 나는 완전히 혼란 스럽다. 내가 틀렸을 수도 있지만 자바 개념에 따르면 나는 옳다. 그래서 어느 누구라도 나를 더 분명하게 만들어 주었고 어떤 도움이든지 매우 애통해질 것입니다.객관적인 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을 푸 ... C++에서

+0

본 적이 있지만 분명하지 않습니다. 하지만 내 개념은 명확하지 않습니다. –

답변

2

, 당신은 int add(int, int, int)int add(int, int)로 해. 두 메서드 모두 같은 이름을 가지고 있습니다 add

그러나 Obj-C의 선택기에 add:first:withSecond:add:first:withSecond:withThird:이라는 다른 이름이 포함되어 있습니다. 두 메서드 모두 다른 이름을 사용하고 있지 않습니까?

여기에서 메소드 이름 (선택기)이 변경됩니다.

+0

고마워요. 알았어. –