2011-05-13 3 views
3

View에는 내 XIB에 myButton 버튼이 있습니다. XIB에서 File 's Owner는 클래스 HelloWorldViewController입니다. 그리고 File 's Owner에 대한 뷰는 XIB의 내 View입니다.컨트롤러 코드를 호출하는 버튼을 얻을 수 없습니다 iPhone 4

HelloWorldViewController (MainWindow.XIB에 있음)에는 - (IBAction) doMyButton:(id)sender이 있고 파일에 해당 정의가 있습니다.

내보기에는 이벤트 (다시 XIB에 있음) 내부 위로 터치 -> 파일 소유자 doMyButton이 있습니다.
파일 소유자 들어오는 작업 doMyButton -> 둥근 사각형 버튼 내부 위로 터치.

'doMyButton'메서드 안에있는 코드의 첫 번째 줄에 디버그 지점이 있습니다. 시뮬레이터에서 마우스로 버튼을 터치 할 때 브레이크 포인트를 맞추지 않습니다.

WTF? IB의

화면 캡처 도움이된다면 :
Overview
Properties Of Button

+0

당신을 도울 수있는 샘플 코드 또는 프로젝트가 없습니다. 또한 * 매우 * 특정 질문 - 다른 사람이 전혀 유용하다고 생각하지 않는 (지역에). – jkp

+1

@jkp : 이것은 가까운 가치있는 질문이 아닙니다. 이런 종류의 문제는 실제로 iPhone 개발에서 매우 일반적이며 Xcode와 Interface Builder 간의 통합이 놀랍게 부족한 결과입니다. Xcode/IB 문제이기 때문에 코드를 게시 할 수 없습니다. – MusiGenesis

+0

@MusiGenesis : 코드를 게시 할 수 없다는 견해에 동의합니다. 프로젝트를 보여주는 예제 프로젝트를 노크하고 드롭 박스에 게시 한 다음 링크를 연결합니다. 시간이 지남에 따라 샘플 프로젝트를 완성하면 문제를 해결할 수 있습니다. 그렇지 않으면 세부 사항이 충분하지 않습니다. – jkp

답변

0

동료 덕분에 문제가 무엇인지 알았습니다. 버튼을 가지고 있던 뷰는 HelloWorldViewController.xib에있다. 그러나, MainClick에 대한 마약을 가지고 NavController의 기본보기로 설정했습니다. HelloWorldViewController.xib의 뷰를 편집 할 때 NavController에 대한 뷰가 복제 된 Main.xib에서 편집 (연결 : 읽기)을 수행해야합니다.

저는 NavController가 원래의 뷰가 정의 된 다른 XIB를 가리키고 있다고 가정했습니다. 원래의 뷰는 사본을 실행하지 않고 정의되었습니다. newb 관점에서 엉망진창의 종류.

1

모든 것은 당신이 당신이 cmd를 + R 사용에 cmd + Y 또는를 사용하여 코드를 실행하는, 즉 브레이크 포인트를 설정하지 않는 좋은 경우 cmd + enter. cmd + r은 중단 점을 고려하지 않고 실행됩니다.

+1

Xcode 4에서 Cmd-R의 "실행"은 일반적으로 디버깅 할 수있는 방법을 벗어나지 않는 한 디버깅 할 수 있습니다. –

+0

디버깅을 시작할 줄에 파란색 포인터가 있습니다. Xcode 맨 위에있는 "빌드 및 디버그"를 클릭합니다. Xcode 3.2.6을 사용하고 있습니다. 나는 이전에 이런 방식으로 디버깅을 해왔다고 생각한다. – Justin

+0

buil의 왼쪽에 버튼이 있고 Debug가 눌려 졌는지 아닌지? 그렇지 않다면 그것을 누르십시오 ... 한가지 더 nslog를 거기에두고 컨트롤이 거기에 도달했는지 여부를 확인하십시오. –

0

IBOutlet 항목 중 어느 것이 작동합니까?

XIB 파일의 이름을 변경했기 때문에 File's Owner에 올바른 사용자 지정 클래스가 인터페이스 작성기에 설정되어 있는지 확인하십시오. 그렇지 않으면 브레이크 포인트가 발사되지 않는 이유가 될 수있는 잘못된 클래스를 호출 할 수 있습니다.

참고 : 이러한 문제로 인해 빌드 문제가 발생할 수 있지만, 이상한 일이 발생했습니다.

+0

HelloWorldViewController.xib의 파일 소유자는 HelloWorldViewController 클래스입니다. 내 방법이 버튼에 대한 것입니다. 거기에 다른 IBOutlet 물건이 있다고 나는 믿지 않는다. 내가 IBOutlet을 더 가져야하는지에 대한 호기심을 들여다 보았습니다. (더 많은 카우벨?). – Justin

+0

나는 항상 더 많은 카우벨을 좋아하지만 코드와 상호 작용할 각 XIB 항목에 대해서만'IBOutlet'이 필요하다. 결코 변경되지 않는'UILabel'을 가지고 있다면'IBOutlet'이 필요 없습니다. 코드가 어떤 값에 따라'UILabel' 텍스트를 변경하게하려면'IBOutlet'이 필요합니다. – dredful

관련 문제