在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并不显示四个而是一个!
答案 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;
}