나는이 코드 조각이 :목표 C - 컴파일 오류 "방법의 중복 선언"
- (id) getSearchSuggestions:(NSString*)q;
- (NSOperationQueue*) getSearchSuggestions:(NSString*)q callback:(id<UserDelegate>)callback;
- (id) getSearchSuggestions;
- (NSOperationQueue*) getSearchSuggestions:(id<UserDelegate>)callback;
을 그리고 엑스 코드는 마지막 줄에 나에게 오류를 보여주는 유지 :
Duplicate declaration of method "getSearchSuggestions"
왜? 그 서명들은 모두 다른 것처럼 보입니다. 해당 선택기의
실제로 모든 객체 포인터가 'id'인 것은 중요하지 않습니다. 이 오류는 선택기 (서명 전체를 나타내지 않음)로 인해 발생합니다. 특히 유형을 나타내지는 않습니다. 'NSString * '대신에'float '이라면 같은 오류가 발생합니다. –
좋은 지적. 필자는 실제 오류 메시지보다는 서명에 대한 OP의 설명에 중점을 두었습니다. 그의 예는 동일한 서명을 가지고있는 반면, '부동'은 다른 선택자를가집니다 (여전히 충돌하는 선택자 임에도 불구하고). –