2012-04-03 2 views
8

내가 다음 줄에 제목 경고를 받고 있어요는 :경고 : 구현되지 않은 선택기 localizedCaseInsensitiveCompare

NSSortDescriptor * sort = [ [NSSortDescriptor alloc] initWithKey:@"name" 
           ascending:YES 
            selector:@selector(localizedCaseInsensitiveCompare:) ]; 

그리고 나는 항상 경고를하지 않았다. 즉, 경고가 방금 컴파일 설정의 변경으로 인해 최근에 나타나기 시작했습니다. 오타가 보이지 않습니다. 이것은 많은 예제에서 본 코드와 같습니다. 런타임 예외가 표시되지 않습니다. 그러나 나는 경고를 좋아하지 않는다. 이걸 본 사람? 어떤 생각이 그것을 일으키는 지 아십니까?

답변

14

-Wselector을 사용하셨습니까? ("선택자에 대한 다중 정의 유형"이라고도합니다.)이 경고는 Foundation과 호환되지 않으므로 사용하지 마십시오. 그것은 "순수한"Objective-C에서 의미가 있기 때문에 존재합니다. Cocoa를 사용하는 모든 목표 -C를 쓰지 않을 것입니다.

원하는 경고가 -Wundeclared-selector ("선언되지 않은 선택기"라고도 함)입니다.

다소 날짜가 있지만 GCC 경고의 전체 목록을 컴파일하고 내 Shared.xcconfig 파일에서 켜거나 끌지 여부를 결정했습니다. 조금 더 최신 인 very helpful bestiary compiled by Jean-David Gadina도 있습니다.

+0

그랬습니다. 감사. – DRVic

+0

안녕하세요 @ 로브 네이피어, 난 방금 xcode 5로 업데이 트하고 "선택기에 대한 다중 정의 유형"옵션을 선택하고, 이미 아니오로 설정 제안 제안 "선택기를 찾을 수 없습니다"경고가 나타납니다. 그러나 나는 경고를 받는다. 그래서 뭐 할까. – Ranjit

+0

이 질문과는 다른 경고입니다. 업그레이드 후에 경고 메시지가 나타나면 제거 된 방법을 사용하고있는 것입니다. 사용중인 메소드, 사용중인 SDK 및 정확한 경고와 함께 새로운 질문을 열어야합니다 (실제로 메소드가 실제로 존재하는지 확인 만하면됩니다). –

관련 문제