2012-04-08 3 views
0

Я столкнулся с этой проблемой на устройстве, которому присвоено выбранное значение строки для сборщика, занимает слишком много времени, чтобы отображать его на ярлыке, а на симуляторе он работает нормально.Присвоение значения значения значения 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. 
+0

Что такое 'rewardsName'? Обратите внимание, что вы сравниваете адреса двух объектов в: 'if (pickerView == rewardsName)' ... – giorashc

+0

На самом деле я использую два метода pickerview для одного представления. rewardsName - это UIPickerview –

+0

Если 'reward1',' reward2' и 'reward3' имеют класс' UILabel', чтение и изменение их текста должно иметь мало эффекта. Можете ли вы попробовать: (1) комментировать весь этот блок, чтобы подтвердить, что проблема исчезла, и (2) изменить текст UILabel в какой-то другой точке вашего кода, чтобы подтвердить, что проблема появляется там? – Dondragmer

ответ

0

Для других, кто столкнутся с этой проблемой.

Я не знаю, создавала ли это проблему или нет. Но я внес изменения в свой код.

В моем файле .h ранее я определял свойства UILabels (награда1, награда2 и т. Д.) С помощью IBOutlet, а не ivars. Но тогда я определил ivars как награду IBOutlet UILabel1; и т. д., и исключил IBOutlet из свойств, тогда он начал работать нормально.

Теперь проблема решена.

Смежные вопросы