2012-08-03 7 views
2

Xcode의 Extract 리팩토링 도구는 어떻게 사용합니까?Xcode 추출 리팩토링 기능을 사용하는 방법은 무엇입니까?

내가 선택한 코드가 무엇이든, 나는 항상 같은 도움이되지 않는 오류 메시지가 나타납니다.

선택 항목에는 추출 할 수있는 항목이 없습니다. 을 다른 것으로 선택하고 다시 시도하십시오.

아래의 스크린 샷을 참조하십시오 나는 그것이 작동하도록 수행해야 할 무엇 Select the code, and use of the Refactor > Extract... menu

The selection does not contain anything that can be extracted.

?

간단한 iOS 프로젝트에서이 작업을하고 있습니다. 특별한 것은 아니지만 C++이 아닙니다. 최신 버전의 Xcode (4.4) 및 최신 최신 개발자 미리보기 릴리스를 사용해보십시오.

이것은 버그입니까? 해결 방법은 없습니까?

답변

0

자동 리팩터링 도구는 먼저 요청 된 리팩토링을 적용하기 전에 특정 전제 조건이 충족되는지 확인합니다. 이 경우 전제 조건이 실패한 것 같습니다. 나는 Xcode에서 비슷한 Extract Method 리팩토링을 많이 해왔고 선택한 코드에 문제가있는 이유가 없습니다. 아마도 여러분이 보여주는 코드에는 분명히 나타나지 않은 미묘한 의존성이있을 것입니다.

내가 버그라고 부를지 모르겠다. 리팩토링 툴을 개발할 때 개발자는보다 복잡한 리팩토링 로직 가격으로 항상 전제 조건을 약간 약하게 만들 수 있습니다.

문제는 해결되지 않지만 도움이 될 수 있습니다.

2

매개 변수를 가져 오는 분명한 반환 값을 생성하지 않는 블록이있는 경우 이상한 이유로 XCode는 줄 바꿈을 포함하면 불평합니다. 내 생각에 이것은 공백을 무시해야하는 버그이다. 개행 문자를 포함하지 않도록하십시오. 예를 들어, 다음과 같은 작품 "리팩터링은> 방법의 압축을 풉니 다"

enter image description here

+0

흠이 - 내 경우에 도움이하지 않는 것 같습니다. – Benjohn