2013-04-09 3 views
1

현재 작업중인 앱 내에 버튼이 있습니다. 버튼을 누르면 메소드를 눌렀을 때 호출되지 않습니다. 나는 모든 적절한 코드를 추가하고 올바르게 모든 것을 연결한다고 생각했지만 그럴 것 같지 않습니다.iOS - 버튼을 누를 때 메소드가 호출되지 않음

ViewControllerRootHome.h

@property (weak, nonatomic) IBOutlet UIButton *btndev; 

- (IBAction)showDev:(id)sender; 

ViewControllerRootHome.m

@synthesize btndev = _btndev; 

- (IBAction)showDev:(id)sender { 

    NSLog(@"dev button pressed"); 
    //dev button pressed 
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil]; 
    ViewControllerDev *dev = (ViewControllerDev *) [storyboard instantiateViewControllerWithIdentifier:@"dev"]; 
    [self presentModalViewController:dev animated:YES]; 
    NSLog(@"dev button press End"); 
} 

실행도 전나무이 방법에서는 문 기록에 도달하지 않는다.

상황은 보조 노트 "로그"를 읽는 장면 벌금을로드하는 것 같다,하지만 어떤 이유로 든 버튼에

는 "DEV"버튼을 호출하지 않는 등 최대 유선하는 방법/장면을로드하십시오.

오 모두를위한 소스 코드는 여기에서 찾을 수 있습니다

, 버튼을 사용하여 문제가 발생하는 경우, 그래서 나는 다시 확인 만드는 방법에 대한 AliSoftware의 코멘트에 당신을 참조 것, 잘 작동 https://github.com/ipatch/KegCop

wiring

+1

projet (메뉴 "제품"-> "청소")을 청소하고 iPhone Simulator (또는 실제 장치에서 테스트 한 경우 Device)에서 응용 프로그램을 삭제하려고 시도 했습니까? 다시 컴파일하고 다시 설치하기 전에 시뮬레이터 (또는 장치)? 단순히 Xcode가 망가져 있고 오래된 XIB가 제대로 다시 컴파일되지 않을 수 있습니까?"dev"버튼을 다른 위치로 옮기거나 XIB/Storyboard에서 제목을 변경하고 예상 XIB/Storyboard 파일에서 작업하고 업데이트되었는지 확인하기 위해 변경 사항이 고려되었는지 확인하십시오. – AliSoftware

답변

2

빌드를 청소하십시오. 당신이 메서드 이름, showDev의 왼쪽에 보면, 당신은 IBOutlet가 제대로 매여 고체 총알을 볼 수 있습니다 :

enter image description here

비교할 경우 다른 방법으로,이, saveMasterEmail 그 ,

enter image description here

관련없는 코드 :

를 현재 방법의 왼쪽에있는 빈 원으로 입증 제대로 매여 있지 않습니다 635,

이 단순화 될 수있다 :

UIViewController *dev = [self.storyboard instantiateViewControllerWithIdentifier:@"dev"]; 
[self presentModalViewController:dev animated:YES]; 

또는, 더 쉽게, 그 버튼에 대한 SEGUE을 정의하고이 코드를 사용하여 작업을 수행 할 필요가 없습니다.

마지막으로 장면 사이에서 순환 참조가 발생하지 않도록해야합니다. A에서 B까지 모달 섹서 (또는 presentViewController 또는 presentModalViewController)를 수행 한 다음 다시 B에서 A까지 다시 수행해서는 안됩니다. A에서 B까지 모달 분할을 수행하는 경우 dismissViewControllerAnimated으로 전화하여 A으로 돌아 가야합니다. 그렇지 않으면 A의 두 인스턴스가 주위에 떠있게됩니다.

+0

첫 번째로, 철저한 응답을 정말 고맙게 생각합니다. 둘째로 스토리 보드 파일에서 "dev"버튼을 삭제했습니다. 그런 다음 "제품"-> "깨끗함"을 수행했습니다. 그 후 "실행"버튼을 클릭하지만 버튼을 제거한 후에도 버튼이 여전히 장면에 표시되므로 어떤 이유로 든 스토리 보드 파일이나 그 밖의 것에 변경 사항이 기록되지 않습니다. -/다시 한번 감사드립니다. 철저한 대응 Rob. – Chris

+1

이 SO 스레드의 제안에 따라, http : //stackoverflow.com/questions/692064/cleaning-up-the-iphone-simulator 시뮬레이터에서 모든 것을 제거했는데 이제는 UI를 업데이트하는 것처럼 보입니다 * 손가락이 엇갈 리도록 유지합니다 * – Chris

관련 문제