PickerView didSelectRow不显示正确的值

时间:2015-03-05 20:13:57

标签: ios xcode uipickerview

我创建了一个简单的天气应用程序应用程序,显示不同城市的温度。

我创建了一个约有10个城市的UIpickerview

另外,我已经实现了UISwitch,以便用户可以在华氏度或摄氏度之间切换。

但我遇到了一个问题,当我滚动浏览城市时,它会向我显示不正确的温度值,但如果我在华氏温度和摄氏温度之间切换,它会显示正确的结果。

另外,例如

City1 城2

该应用程序向我显示city1和city2的相同结果。

这是我滚动城市的功能,我想我做错了。也许我忘了添加一些更新功能

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
    row = [self.PickerView selectedRowInComponent:0];
    [theWeather getCurrent:_pickerData[row]];

        if (self.SwitchOutlet.on){
            self.LabelForSwitch.text = [NSString stringWithFormat:

                                        @"Temperature in Fahrenheit is .: %2.1f \n",
                                        theWeather.tempCurrentInF
                                        ];

        }
        else
        {
            self.LabelForSwitch.text = [NSString stringWithFormat:
                                        @"Temperature in Celsius is.: %2.1f \n",
                                        theWeather.tempCurrent
                                        ];

        }


    self.indicator.hidden = YES;


}

这是我在华氏度和摄氏度之间切换的功能

- (IBAction)Switch:(id)sender {
    if (self.SwitchOutlet.on){
        self.LabelForSwitch.text = [NSString stringWithFormat:

                                    @"Temperature in Fahrenheit is .: %2.1f \n",
                                    theWeather.tempCurrentInF
                                    ];

    }
    else
    {
        self.LabelForSwitch.text = [NSString stringWithFormat:
                                    @"Temperature in Celsius is.: %2.1f \n",
                                    theWeather.tempCurrent
                                    ];

    }

}

如果您需要我澄清一些事情,请说出来

1 个答案:

答案 0 :(得分:0)

事实证明,我需要为我的Uipickerview创建一个延迟。它没有足够的时间从服务器加载数据。