2014-07-21 4 views
-2

데이터를 업데이트 한 후 이미지를 변경하려는 버튼이 있습니다. 하지만이 내가 지금까지클릭하면 이미지가 변경되지 않습니다.

- (IBAction)LikeBtn:(id)sender { 

This code not needed for this site 

    // Save new Post object in Parse 
    [newPost saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) { 
     if (!error) { 
      NSLog(@"liked"); 
      [self likedSuccess]; 

      [sender setBackgroundImage:[UIImage imageNamed:@"liked.png"]]; 

     } 
     else { 
      NSLog(@"Error"); 
      [self likedFail]; 
     } 

    }]; 

} 

사람이 어떤 아이디어가 무엇 돈 어떻게해야 확실하지?

메신저 버튼을 로그 아웃됩니다 당신이 liked을보고 있습니까

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UIButton setBackgroundImage:]: unrecognized selector sent to instance 0x110158b60'` 
+0

무엇이 문제입니까? 나는 당신이 UIbutton에 보낸 사람을 캐스팅해야한다고 생각 : UIButton * button = (UIButton *) sender; – DaSilva

답변

2

을 클릭하면 에로을 받고? 오류가 발생하지 않았습니까? else 브랜치에서 을 시도하면 콘솔에 무엇이 로그 아웃되는지 알 수 있습니다. 보낸 이후 또한

은 아마 지상 이미지를 다시 설정하기 전에

[sender isKindOfClass:[UIButton class]] 

확인과 같은 몇 가지 반성을하고 싶은, id입니다. 배경 이미지를 설정하는 것도

올바른 메소드 호출은 setBackgroundImage:forState: 여기 기준을 확인 : https://developer.apple.com/library/ios/documentation/uikit/reference/UIButton_Class/UIButton/UIButton.html#//apple_ref/occ/instm/UIButton/setBackgroundImage:forState : 아니오 setBackgroundImage 없다

.

+0

'NSInvalidArgumentException'이라는 캐치되지 않은 예외로 인해 앱이 종료됩니다. '- [UIButton setBackgroundImage :] : 인스턴스로 전송 된 인식 할 수없는 선택기가 0x110158b60' –

+1

위의 업데이트를 참조하십시오. – Enzo

+1

@MikeJAspinall 원하는 상태는 아마도 UIControlStateNormal입니까? 그러나 당신이 필요한 것을 알고 있는지 확인하기 위해 문서를 읽으십시오. – Enzo

관련 문제