2011-11-23 82 views
0

這是我在一個視圖控制器中的兩個pickerviews的代碼。然而它不適合我。具有不同值的兩個PickerView

#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幫助我這個請.. 感謝

+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

相關問題