2011-08-05 5 views
0

좋아, 잠시 동안 화를 내고 있지만 가끔씩은 스스로 해결하기 때문에 해결할 시간입니다!UIButton을 iPhone의 메서드에 연결할 수 없습니다.

상황은 다음과 같습니다.

iOS 용 인터페이스 빌더에서 생성 된보기.

- (IBAction)draggedOut: (id)sender withEvent: (UIEvent *) event { 

    if ([[NSUserDefaults standardUserDefaults] integerForKey:@"edittingmode"] == 3) { 

    UIButton *selected = (UIButton *)sender; 
    selected.center = [[[event allTouches] anyObject] locationInView:self.view]; 
     if ([[NSUserDefaults standardUserDefaults] integerForKey:@"changeskin"] == 1) { 
      [self scifiTempSave]; 
     } 
     else if ([[NSUserDefaults standardUserDefaults] integerForKey:@"changeskin"] == 2) { 
      [self bananaTempSave]; 
     } 
     else if ([[NSUserDefaults standardUserDefaults] integerForKey:@"changeskin"] == 3) { 
      [self orangeTempSave]; 
     } 
    } 
    else{} 

} 

을 그리고 버튼을 연결할 때, 이제

-(IBAction)draggedOut:(id)sender; 

나의 .H 헤더에 선언 다음과 같이 내 구현하는 .m에서 'banana015'

방법으로 참조되는있는 UIButton을 포함합니다 터치 드래그 인사이드 이벤트를 사용하여 Interface Builder의 'draggedOut :'메서드에 연결하면 앱을 릴리스 할 때 (예상되는 동작) 프로젝트를 빌드하고 실행할 때 버튼을 드래그 할 수 있습니다.

과거에는 아름답게 작동하는 "draggedout : withevent"로 나타나는 메소드에 연결할 수있었습니다. 이번에는 50 개의 항목을이 'draggedout : withevent'옵션에 연결했는데 각각의 항목에 대해 아름답게 작동합니다. - 아직 두 개의 UIButton (서로 다른 참조 점)이 있습니다. 그게 나에게 허락한다면 저주받을거야

누구든지 도움이 될 수 있습니까?이 옵션은 사라지고 그 옵션은 사라지지만 이전에 연결했던 모든 것이 여전히 완벽하게 작동합니다. 그것들을 연결 해제하면 새로운 것이나 오래된 것들을 후크 할 수 없다.

+0

여기에서 볼 수있는 한 가지 문제는 헤더의 메서드 선언이 구현과 다르다는 것입니다. –

+0

헤더에서 어떻게 선언해야합니까? – David26th

+0

'- (IBAction) draggedOut : (id) 발신자 withEvent : (UIEvent *) event; 또한 버튼을 놓을 때 발생하는 오류에 대한 오류 정보를 게시하십시오. 아직 활성화하지 않았다면 [NSZombieEnabled 활성화] (http://stackoverflow.com/questions/2190227/how-do-i-set-nszombieenabled-in-xcode-4) –

답변

1

내가 볼 수있는 한가지 문제점은 헤더의 메소드 선언이 구현과 다르다는 것이다. 구현의 메소드의 첫 번째 라인과 세미콜론이되어야합니다 :

- (IBAction)draggedOut: (id)sender withEvent: (UIEvent *) event; 

충돌에 대한 자세한 내용을 보려면 setting NSZombieEnabled to true을 시도해야합니다.

의견에 귀하의 질문에 대답하기 위해 draggedout: 메서드 중 하나를 선택할 수있는 이유는 모르겠지만 withEvent 코드에 선언되지 않은 경우 포함됩니다.

관련 문제