使用uipickerview更改变量

时间:2014-04-16 12:54:21

标签: variables uilabel uipickerview

我是Xcode的新手,我一直试图为我的UIPickerView行分配数值。 在我看来,我想要实现的是一项简单的任务,但我无法做到。 我有一个选择器,上面写着“每周”,“每两周”,“每月”,“年度”。 我希望每个选中的单词都由隐藏在我的代码中的数字表示。 我的第一个想法是根据我的选择器更改的标签中的.text更改整数的值。 e.g。

 /* double z = {(if payCycleLbl.text isEqual: @"Weekly"){
        double z = [[NSString alloc] initWithFormat:@"%f", 52];}
        (else if payCycleLbl.text isEqual: @"Fortnightly"){
            double z = [[NSString alloc] initWithFormat:@"%f", 26];}
        (else if payCycleLbl.text isEqual: @"Monthly"){
            double z = [[NSString alloc] initWithFormat:@"%f", 12];}
        (else if payCycleLbl.text isEqual: @"Annually"){
            double z = [[NSString alloc] initWithFormat:@"%f",1};}
                       } */    

我愿意接受任何方法,只要记住这里的目标是分配一个根据用户选择而变化的数字,并且可以在我的脚本中的其他计算中用于单个'double z'值表示。

谢谢你的建议。

1 个答案:

答案 0 :(得分:0)

d声明为全局变量意味着在.h文件中将d声明为double

并添加选择器视图委托

- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
    d=(double)row+1;
}

只要您选择行,就会分配d,如果您在选择器视图中有“每周”,“每周”,“每月”,“年度”,那么row变量为0表示每周,1表示每两周一次......

并在您选择任何行时添加此委托,然后将d分配给特定行索引,就像您选择“每月”,然后d包含(2 + 1)row+1 < / p>