XCode4에서 un-fubar interface-builder를 도와주세요.인터페이스 빌더가 포함 된 프로젝트 수정 방법
인터페이스 작성기에 단추를 만들고보기 코드에 IBAction 메서드를 정의했습니다. 괜찮 았어. 그런 다음 XCode의 리팩터링/이름 바꾸기 도구를 사용하여 버튼의 액션 메서드 이름을 변경했습니다. 괜찮 았어.
그런 다음 인터페이스 빌더에서 버튼을 선택하고 삭제 키를 눌러 삭제했습니다. 프로젝트를 다시 빌드하면 버튼이 시뮬레이터에 계속 남아 있습니다. 인터페이스 빌더로 돌아 가면 버튼이 사라졌습니다. 코드의 단추에 대한 참조는 없지만 단추의 IBAction 메서드는 여전히 있습니다.
문제를 악화 시키려면 버튼의 원래 동작 메서드가 호출되는데 물론 어느 것이 선택기를 찾을 수없는 런타임 예외를 throw합니다. 원본 액션 메서드의 이름을 프로젝트에서 검색 할 때 아무 것도 발견되지 않지만 런타임에서 계속 호출하려고합니다. 나는 "깨끗한"짓을했고 재건축을했지만 기쁨은 없었습니다.
ASCII 속성 목록으로 .xib 파일을 열려고하면 데이터가 손상되었음을 알립니다. (나는 그것을 알아 낸 것입니다.)
.xib 파일을 삭제하고 새로운보기를 만드는 것 외에는이 문제를 해결할 수있는 방법이 있습니까?
바이너리를 삭제하지 않으면 "깨끗한"것은 무엇입니까?
도움 주셔서 감사합니다. > 콘텐츠 및 설정 재설정 -
.xib를 텍스트 편집기에서 열면 이상한 점이 있습니까? –
@Jon Reid - 텍스트 편집기에서 .xib가 정상적으로 보입니다. xib의 xml 표현에있는 객체가 Interface Builder의 그래픽 표현에있는 객체와 같았습니다. 어쨌든, Xcode는 어딘가에 오래된 참조에 매달려 있습니다. – LandedGently
이것을 재현하려고 시도한 후에는 .xib 파일의 이름을 바꾸어서 발생했다고 생각합니다. 원래 질문을 게시했을 때 언급하지 않은 .xib 파일의 이름이 바뀌 었습니다. XCode "Refactor"도구를 사용하여 일부 객체의 이름을 바꾸었지만, Refactor를 사용하여 xib 파일의 이름을 바꾸는 방법을 알지 못하므로 Project Navigator에서 이름을 변경했습니다. 아마도 좋은 생각이 아닙니다. – LandedGently