"float pos = [보낸 사람 값];"오류가 발생했습니다 ... 보낸 사람이 인터페이스 작성기에서 설정 한 UISlider 여야합니다.오류 : 초기화 할 때 호환되지 않는 유형이 있습니까?
ButtonViewController.m
- (IBAction)slide: (id)sender {
float pos = [sender value];
loadValue.progress = pos;
}
ButtonViewController.h
@interface Button_Fun4ViewController : UIViewController {
IBOutlet UIProgressView *loadValue;
}
- (IBAction)slide: (id)sender;
감사합니다.
감사합니다. 그렇다면 "id"로 선언하는 것이 무엇입니까? – Devoted
여기에 ID가있는 이유는 모든 대상/액션 메소드가 id를 사용하고 nil을 반환한다는 것입니다 (IBAction은 매크로입니다). addTarget : action : forEvents :는 UIControl 수준에서 정의되므로 UISliders뿐 아니라 모든 UIControl에서 작동해야합니다. UIControl에 캐스팅하는 것조차 숙련 된 개발자들에게는 혼란을 줄 수있는 이드를 통과하는 더 긴 타겟/액션 메소드의 역사에서 비롯된 것입니다. 기술적으로 당신은 UISlider에 매개 변수를 입력 할 수 있습니다. 아마도 작동 할 것입니다. 그러나 호출이 실제로 유형 안전하지 않기 때문에 해결 된 것보다 더 많은 놀라움이 생길 것입니다. –