ViewPicker中的SelectRow

时间:2012-10-23 06:31:19

标签: objective-c ios

在viewDidLoad中我有这段代码:

  

//这里始终显示正确的字符串aCapital值一,二,三,四

NSLog(@“capital%@”,self.aCapital);

if (!self.aCapital) {
  self.aCapital = @"One";
     } else {

if (self.aCapital = @"One") {
    [self.Select selectRow:0 inComponent:0 animated:NO];
    NSLog(@"One");
    return;
}

if (self.aCapital = @"Two") {
    [self.Select selectRow:1 inComponent:0 animated:NO];
    NSLog(@"Two");
    return;
}

if (self.aCapital = @"Three") {
    [self.Select selectRow:2 inComponent:0 animated:NO];
    NSLog(@"Three");
    return;
}

if (self.aCapital = @"Four") {
    [self.Select selectRow:3 inComponent:0 animated:NO];
    NSLog(@"Four");
    return;
}

     }

但Select PickerView没有显示正确的selectRow。 如果我删除所有代码并在viewDidLoad中我只需插入

  

[self.Select selectRow:2 inComponent:0 animated:NO];

显示正确的三行(对于一个和两个值,相同)。 相反,使用selectRow:3并不显示四个而是一个!

2 个答案:

答案 0 :(得分:1)

这一行使您在if (self.aCapital = @"One")语句中分配值的问题if。此表达式始终评估true

您需要使用

比较值
if (self.aCapital == @"One")

if ([self.aCapital isEqualToString: @"One"])

答案 1 :(得分:0)

您实际上指定的值不是比较。你应该输入:

if (self.aCapital == @"One") {
    [self.Select selectRow:0 inComponent:0 animated:NO];
    NSLog(@"One");
    return;
}