Я столкнулся с этой проблемой на устройстве, которому присвоено выбранное значение строки для сборщика, занимает слишком много времени, чтобы отображать его на ярлыке, а на симуляторе он работает нормально.Присвоение значения значения значения UIPickerView на устройстве
Ниже приведен код:
-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row
inComponent:(NSInteger)component
{
if (pickerView == rewardsName) {
NSString *selectedReward = [self.rewards objectAtIndex:row];
if ([reward1.text length]==0){
//set label 1
reward1.text = selectedReward;
}
if ([reward2.text length]==0){
//set label 2
reward2.text = selectedReward;
}
if([reward3.text length]==0){
//set label 3.
reward3.text = selectedReward;
}
}
else if(pickerView == selectNamazPicker){
aNumberString = [self.namazArray objectAtIndex:row];
NSLog(@"aNumberString:: %@", aNumberString);
}
}
Может кто-нибудь сказать мне, что может быть проблема ... Я не могу найти один ...
**
EDITED:
ISSUE RESOLVED:
**
For others who would face this issue.
I don't know whether it was creating the problem or not. But I did make these changes to my code.
In my .h file, previously I was just defining properties of UILabels (reward1, reward2 etc) with IBOutlet and not ivars. But then I defined ivars as IBOutlet UILabel reward1; etc and eliminated IBOutlet from properties then it started working fine.
Now the problem has resolved.
Что такое 'rewardsName'? Обратите внимание, что вы сравниваете адреса двух объектов в: 'if (pickerView == rewardsName)' ... – giorashc
На самом деле я использую два метода pickerview для одного представления. rewardsName - это UIPickerview –
Если 'reward1',' reward2' и 'reward3' имеют класс' UILabel', чтение и изменение их текста должно иметь мало эффекта. Можете ли вы попробовать: (1) комментировать весь этот блок, чтобы подтвердить, что проблема исчезла, и (2) изменить текст UILabel в какой-то другой точке вашего кода, чтобы подтвердить, что проблема появляется там? – Dondragmer