Objective c 在ViewPicker中选择Row

Objective c 在ViewPicker中选择Row,objective-c,ios,Objective C,Ios,在viewDidLoad中,我有以下代码: //这里始终显示正确的字符串A基本值1、2、3、4 NSLog(@“资本%@”,自资本) 但Select PickerView未显示正确的selectRow。 如果我删除了所有代码并在viewDidLoad中插入 [self.Select选择行:2不完整:0动画:否] 显示正确的三行(一和二值相同)。 而是使用selectRow:3显示的不是四个而是一个 您实际上是在分配一个值,而不是进行比较。您应键入: if (self.aCapital == @"

在viewDidLoad中,我有以下代码:

//这里始终显示正确的字符串A基本值1、2、3、4

NSLog(@“资本%@”,自资本)

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

[self.Select选择行:2不完整:0动画:否]

显示正确的三行(一和二值相同)。
而是使用selectRow:3显示的不是四个而是一个

您实际上是在分配一个值,而不是进行比较。您应键入:

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

这一行使问题
if(self.aCapital=@“One”)
if
语句中赋值。此表达式始终计算
true

您需要使用

if (self.aCapital == @"One")


谢谢两位。现在值传递正常,但“选择取景器”继续不显示正确的行,为什么?是的,当然。我应该添加另一个[self.Select selectRow:(在这里传递正确的行?)不完整:0动画:否];在if条件的末尾(不要这样认为)。不,不需要这样做,我认为您的代码存在一些问题,什么是
aCapital
,什么是
Select
?aCapital是一个NSString变量。Select是ViewPicker。我认为在
viewDidLoad
中,如果(!self.aCapital)
此条件的计算结果为true。因此,进一步选择它将不起作用,因为您在else部分上写了它。现在,值传递正常,但“选择视图选择器”继续不显示正确的行,为什么?
if (self.aCapital == @"One")
if ([self.aCapital isEqualToString: @"One"])