2011-11-23 5 views
0

이것은 하나의보기 컨트롤러에서 두 개의 pickerviews에 대한 코드입니다. 그러나 그것은 나를 위해 일하지 않는다.다른 값을 가진 두 개의 PickerViews

#pragma mark UIPickerViewDelegate methods 
    //PickerViewController.m 
    - (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)thePickerView { 
     return 1; 
    } 

    - (NSInteger)pickerView:(UIPickerView *)thePickerView numberOfRowsInComponent:(NSInteger)component { 

     switch ([thePickerView tag]) { 
      case 1: //purpose picker   
       return [m_arrPurpose count];    
      case 2: //second picker 
       return [m_arrSweep count]; 
      default: 
       return 0; 
       break; 
     } 
    } 

    - (NSString *)pickerView:(UIPickerView *)thePickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component { 

     switch ([thePickerView tag]) { 
      case 1: //purpose picker 
      { 
       //cost.text = @"Test"; 
       Purpose *prp = [m_arrPurpose objectAtIndex:row]; 
       return [prp m_purposeName];  
      }  
      case 2: //second picker 
      { 
       OpenActivity *opn = [m_arrSweep objectAtIndex:row]; 
       return [opn m_ahhaName]; 
      } 
      default: 
       return @""; 
       break; 
     } 
}

이 좀 도와 any1 수 있습니다하시기 바랍니다 .. 하나 태그 설정이 정확하지 않거나 두 선택기에 대한 데이터 소스 및 위임 방법을 연결 havent 한 것처럼 소리 감사

+1

뭐가 문제입니까? 오류, 충돌, 로그는 어떻게됩니까? – Mat

+1

무슨 문제가 있습니까?, 콘솔에서받은 오류는 무엇입니까? –

+0

기존 댓글에 추가하려면 _what_가 작동하지 않는다고 알려야합니다. 당신은 잘못된 가치관, 가치관, 충돌 등을 얻고 있습니까? 그것이 의미하는 바대로 이것은 대답 할 수 없다. – jrturton

답변

0

.

numberOfRowsInComponent 및 titleForRow : 메소드에 일부 NSLog 문을 추가하십시오.

피커 뷰 객체와 피커 뷰의 태그를 로그에 포함하십시오 (예 :

NSLog(@"Rows in component for %@, tag %d",thePickerView,[thePickerView tag]); 

그리고 다른 텍스트는 titleForRow에 있습니다.

두 개의 다른 개체가 표시되어야합니다. 그렇지 않은 경우 대리자와 데이터 원본이 연결되어 있지 않습니다. 태그 1과 2가 표시되어야합니다. 그렇지 않으면 태그가 올바르게 설정되지 않습니다.

+0

고마워요. 그걸 시도해 볼게. – MayurCM

-1

이 문제는 내 코드에 아무런 문제가 없었습니다. 단지 XIB에서 태그의 값을 1과 2로 설정하는 것을 잊었습니다.

+0

그럼 내 대답에 맨 처음 문장? 고마워. – jrturton

관련 문제