我从数据源中获取了一个pickerview。我有代码来更新didSelectRow函数中的标签,但标签没有更新。当我将值打印到NSLog时,将打印正确的值。我需要做些什么特别的事情才能连接标签,以便在didSelectRow是eneter时更新它?
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{
if (pickerView.tag == TagLensPicker){
[self lensArrayData];
label.text = [NSString stringWithFormat:@"%@",[description objectAtIndex:[pickerView selectedRowInComponent:0]]];
NSLog([NSString stringWithFormat:@"%@", [description objectAtIndex:[pickerView selectedRowInComponent:0]]]);
}
}
答案 0 :(得分:1)
[pickerView selectedRowInComponent:0]
可能是您问题的根源。
[description objectAtIndex:row]
应该有效
答案 1 :(得分:0)
如果NSLog打印正确的值,则标签变量必定存在问题。
使用NSLog打印它,看看它是否是对您的标签的正确引用?
此外,您可以在更改文字后尝试拨打[label setNeedsDisplay]
,但我不确定是否有必要。