2015-09-20 68 views
0

我有一個UIpicker與2列。當我在第一列中選​​擇一行時,我成功加載數據並填充第2列。直到我點擊列時,列2中的新數據纔會顯示。直到我點擊舊數據仍然顯示,雖然我已經加載數據並打電話給reloadcomponent。UIPicker,2列,更新第二組件

如何強制更新UIpicker以便顯示第2列數據?

更新: 似乎只有當我點擊它時才更新列,現在我看到如果我在列1中選擇一行並等待4-5秒,那麼列2最終會更新。奇怪這個。當我點擊第2列時,它會立即更新。不管它是模擬器的問題,它可以在設備上工作嗎?

+0

你嘗試過'pickerView.reloadAllComponents'嗎? – mikle94

+0

是的,直到我點擊第2列時纔會顯示數據。 – JonP

回答

0

使用以下按規定
- (空)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger的)行inComponent:(NSInteger的)組件

{ 
switch (component) 
enter code here{ 
      case 0: 
       selectedKey = [notesToDisplayForKey objectAtIndex:row]; 
        [pickerView reloadAllComponents]; 
       return; 

      case 1: 

       // selectedScale = [scaleNames objectAtIndex:row]; 
       if([selectedKey isEqualToString:@"UK" ]) 
/// use your actual stuff 
+0

您可以查看您的代碼,因爲它看起來很亂嗎? – raratiru

0

我一直是這樣struggeling爲一會兒。它的工作,很好,有時甚至沒有。

我從NSURLSession.sharedSession()更改爲從Web服務獲取數據NSURLConnection.sendAsynchronousRequest並突然它沒有延遲或中止工作。

我是新來的iOS & Swift,但這可能對別人有用?

如果有人在意解釋這一點,我將非常感激。

相關問題