2013-01-24 2 views
0

위임 기능이 호출되지 않은 iOS 프로젝트에서 문제가 발생했습니다. 왜 그것이 발동되지 않았는지 알 수 없었습니다.Xcode에서는 경고없이 동일한 기능을 두 번 정의 할 수 있습니다.

이 함수는 UITableViewController 하위 클래스에있었습니다.

- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath

내가 내 자신의 코드 수동 기능을 추가했다 밝혀,하지만 이미 엑스 코드에서 자동 생성 된 코드의 일부로서 소스 파일 아래로 더 존재했다.

XCode는 동일한 소스 파일에 함수가 두 번 존재한다는 사실에 문제가없는 것으로 보입니다.

XCode가 경고 메시지를 표시하지 않는 이유는 무엇입니까?

이 시나리오에 대한 경고를 표시하도록 설정하는 방법은 무엇입니까?

편집

: 내가 엑스 코드 사용하고 4.5.2

+0

프로젝트를 지우고 다시 작성 했습니까? –

+0

청소하고 다시 작성하십시오. 경고 없음 – Ben

답변

1

당신에게 방법 중 하나는 범주에 있지 않은지 확인 있습니까? 카테고리가 서브 클래스의 메소드를 오버라이드 (override)하기 (위해) 때문에, 그것은 정당합니다. 방금 Xcode 4.5.2를 사용하여 테스트했고 동일한 메소드 이름을 두 번 사용하려고 시도하자 즉시 경고했습니다.

+0

아니요, 메소드는 클래스의 '@ implementation' 섹션의 같은 섹션에 있습니다. 자동 생성 된 코드를 주석 처리하여 거의 분리했습니다. – Ben

+0

주석 처리 된 비트를 제거하고 하나만 남겨 두었더라도 다른 하나, 나는 여전히 경고를 얻지 못한다 .. – Ben

+0

새로운 프로젝트를 만들려고했는데 경고를 받는다. 이상한. – Ben

관련 문제