2011-10-06 4 views
0

단일 선택 도구가 있고 반환되는 텍스트에 따라 디스플레이가 달라 지므로이 문을 구현하는 데 문제가 있으므로 코드는 다음과 같습니다.If 문을 포함하는 단일 선택기 - 작동하지 않습니다.

@implementation ButtonFive 

@synthesize singlePicker; 
@synthesize pickerData; 

-(IBAction)buttonPressed { 
NSInteger row = [singlePicker selectedRowInComponent:0]; 
NSString *selected = [pickerData objectAtIndex:row]; 




if ([selected isEqualToString: @"MC860"]) 
    //if ([selected isEqualToString: @"MC860"]) 
{ 
NSString *title = [[NSString alloc] initWithFormat: @"Use the maintenance utility to upgrade the %@!", selected]; 

} 

else { 
NSString *title = [[NSString alloc] initWithFormat: @"try this %@!", selected]; 

} 



//NSString *title = [[NSString alloc] initWithFormat: @"you selected %@!", selected]; 


UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title message : @"Thank you for choosing." delegate:nil cancelButtonTitle :@"Continue" otherButtonTitles :nil]; 
[alert show]; 
[alert release]; 
[title release]; 
} 


- (void)viewDidLoad { 
NSArray *array = [[NSArray alloc]  initWithObjects:@"B410",@"B411",@"B440",@"B840",@"MC860", @"MC861",@"MC861",@"B410",@"B411",@"B440",@"B840",@"MC860", nil]; 
self.pickerData = array; 
[array release]; 
[super viewDidLoad]; 
} 

-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView 
{ 
     return 1; 
} 

-(NSInteger)pickerView:(UIPickerView *)pickerView 
numberOfRowsInComponent:(NSInteger)component 
{ 
return [pickerData count]; 
} 

-(NSString *)pickerView:(UIPickerView *)pickerView 
     titleForRow:(NSInteger)row 
     forComponent:(NSInteger)component 
{ 
return[pickerData objectAtIndex:row]; 
} 

제목 텍스트가 인식되지 않지만 나는이 모든 잘못에 대해 갈 수 있다고 생각합니다. 어떤 도움이 많이 주어집니다.

답변

2

컴파일 오류가 발생해야합니다. 이유는 분명합니다 ... if 및 else 블록 내에서 title을 선언하고 있지만 if-else 블록 전에 선언해야합니다!

즉. 당신의 자리에이 코드를 사용해야합니다 .-

NSString *title; 


if ([selected isEqualToString:@"MC860"])//if ([selected isEqualToString: @"MC860"]) 
{ 
    title = [[NSString alloc] initWithFormat:@"Use the maintenance utility to upgrade the %@!", selected]; 
} 
else { 
    title = [[NSString alloc] initWithFormat:@"try this %@!", selected]; 

} 
+0

호머의 말에 ...... D' oh !!!! 도와 주셔서 감사합니다 Miraaj. – TJ15

관련 문제