2

안녕하세요. 세그먼트 화 된 컨트롤러의 인덱스를 업데이트하는 데 문제가 있습니다. 다음 코드는 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에 유지됩니다.

누군가가 왜 이런 일이 벌어지고 있는지보고 가능한 경우 수정 방법을 알 수 있습니까?

도움을 주시면 감사하겠습니다.

당신에게 감사 해

+0

'NSLog (@ "% @", fVC)의 출력; 만약 당신이 다른 사람과 로그? –

+0

2012-11-17 09 : 57 : 04.967 MyBMI_Buddy2 [402 : c07] 그 출력은 –

답변

1

당신은 그냥 선언의 FVC의 ViewController의 인스턴스를 초기화되지 않습니다

변경 :

MBBFirstViewController *fVC 

사람 :

는 무엇입니까
MBBFirstViewController *fVC = [MBBFirstViewContoller alloc] init]; 
+0

입니다. –

관련 문제