답변:
헤더 파일에서 클래스의 심볼을 선택합니다 @interface
. 즉 . 그런 다음 리팩토링 항목을 활성화해야합니다.
Objective-C ++를 사용하는 경우 (즉, Objective-C를 C ++ 코드와 혼합) xcode에서 C ++ 코드의 리팩토링을 지원하지 않으므로 리팩토링이 비활성화됩니다.
영향을받는 파일 (대부분 클래스가있는 파일)이 저장되지 않은 경우 리팩터링이 비활성화 될 수도 있습니다.
저는 Xcode를 5 년 동안 사용해 왔으며 리팩토링이 제대로 작동하지 않았습니다 (xcode 4.6에도 소스 코드를 손상시키는 주요 버그가 있습니다!).
해결 방법은 항상 (Apple의 코드가 실패하는 경우에도 여전히 100 % 작동합니다)
이 방법으로 성공률이 100 %입니다. 방금 최신 xcode에서 Apple의 "Refactor-> Rename"으로 리팩토링을 시도했지만 실패했습니다.
(이번에는 잘못된 오류 : "언어를 확인할 수 없음", Apple이 잘못된 텍스트를 입력 한 오류 메시지 중 하나)
저에게는 내가 열어 본 Xcode 프로젝트가 누락 된 Base SDK를 참조하고 있었기 때문에 Refactor가 비활성화되었음을 깨달았습니다. 프로젝트 설정을 편집하고 빌드 탭에서 기본 SDK를 보유하고있는 것으로 설정합니다 (예 : iOS 4.2). 이것은 나를 위해 리팩터링을 활성화했습니다.