안녕하세요. 세그먼트 화 된 컨트롤러의 인덱스를 업데이트하는 데 문제가 있습니다. 다음 코드는 calcualate 클래스에서 가져옵니다.UISegmentedControl 인덱스는 터치 할 때 업데이트되지 않습니다.
+ (NSString *) calculate:(NSString *)height:(NSString *)weight{
double bmiVal = 0;
MBBFirstViewController *fVC;
NSLog(@"%d", [[fVC heightSegment]selectedSegmentIndex]);
NSLog(@"%d", [[fVC weightSegment]selectedSegmentIndex]);
if ([[fVC heightSegment]selectedSegmentIndex] == 0 && [[fVC weightSegment]selectedSegmentIndex] == 0) {
value = 10.5555;
}else if ([[fVC heightSegment] selectedSegmentIndex] == 0 && [[fVC weightSegment]selectedSegmentIndex] == 1) {
value = 11.5555;
}else if ([[fVC heightSegment]selectedSegmentIndex] == 0 && [[fVC weightSegment]selectedSegmentIndex] == 2) {
value = 12.5555;
}else if ([[fVC heightSegment]selectedSegmentIndex] == 1 && [[fVC weightSegment]selectedSegmentIndex] == 0) {
value = 13.5555;
}else if ([[fVC heightSegment]selectedSegmentIndex] == 1 && [[fVC weightSegment]selectedSegmentIndex] == 1) {
value = 14.5555;
}else if ([[fVC heightSegment] selectedSegmentIndex] == 1 && [[fVC weightSegment]selectedSegmentIndex] == 2) {
value = 15.55555;
}else if ([[fVC heightSegment]selectedSegmentIndex] == 2 && [[fVC weightSegment]selectedSegmentIndex] == 0) {
value = 16.55555;
}else if ([[fVC heightSegment]selectedSegmentIndex] == 2 && [[fVC weightSegment]selectedSegmentIndex] == 1) {
value = 17.55555;
}else if ([[fVC heightSegment]selectedSegmentIndex] == 2 && [[fVC weightSegment]selectedSegmentIndex] == 2) {
value = 18.5555;
}
}
NSString *bmiV = [NSString stringWithFormat:@"%.2f",bmiVal];
return bmiV;
}
이 코드는 viewcontroller.m 클래스
- (IBAction)calculateTotal:(id)sender {
NSString *h = [heightField text];
NSString *w = [weightField text];
yourBmiField.text = [calculate yourCalculation:h:w];
}
에서입니다 그리고 이것은 내가이 짧은을 메인 계산을 떠난
@interface MBBFirstViewController : UIViewController <UITextFieldDelegate>{
UITextField *heightField;
UISegmentedControl *heightSegment;
UITextField *weightField;
UISegmentedControl *weightSegment;
}
@property (strong, nonatomic) IBOutlet UITextField *heightField;
@property (strong, nonatomic) IBOutlet UISegmentedControl *heightSegment;
@property (strong, nonatomic) IBOutlet UITextField *weightField;
@property (strong, nonatomic) IBOutlet UISegmentedControl *weightSegment;
- (IBAction)calculateTotal:(id)sender;
@end
viewcontroller.h에서입니다. 이 세그먼트를 실행하면 선택한 세그먼트가 항상 0에 유지됩니다.
누군가가 왜 이런 일이 벌어지고 있는지보고 가능한 경우 수정 방법을 알 수 있습니까?
도움을 주시면 감사하겠습니다.
당신에게 감사 해
'NSLog (@ "% @", fVC)의 출력; 만약 당신이 다른 사람과 로그? –
2012-11-17 09 : 57 : 04.967 MyBMI_Buddy2 [402 : c07] 그 출력은 –