как восстановить мою стоимость сборщика - PullRequest
0 голосов
/ 10 января 2011

по Фаренгейту NSObject и WakingTemperature UIViewController. Я обновляю значение выбора из Фаренгейта в WakingTemperature (в основном два nsobject для Фаренгейта и Цельсия для переключения, я поставил код для Фаренгейта).

Теперь у меня проблема с восстановлением значения моего сборщика, но не происходит. вот что я попробовал в updatelable, пожалуйста, помогите мне.

@interface FertilityAppAppDelegate
----------------------------------
        NSInteger pickerRowCompzero;
        NSInteger pickerRowCompone;
        float valueConv;

        @property (nonatomic) NSInteger pickerRowCompzero;
        @property (nonatomic) NSInteger pickerRowCompone;
        @property (nonatomic) float valueConv;

@implementation FertilityAppAppDelegate
---------------------------------------
        @synthesize pickerRowCompzero,pickerRowCompone;
        @synthesize valueConv;

@implementation Fahrenheit
--------------------------
   - (id)init 
{        
 /* initialize data-arrays here */

 ArrayofTempIntegerofCelsius = [[NSMutableArray alloc] init];

 [ArrayofTempIntegerofCelsius addObject:@"36"];
 [ArrayofTempIntegerofCelsius addObject:@"37"];
 [ArrayofTempIntegerofCelsius addObject:@"38"];
 [ArrayofTempIntegerofCelsius addObject:@"39"];
 [ArrayofTempIntegerofCelsius addObject:@"40"];
 [ArrayofTempIntegerofCelsius addObject:@"41"];

 ArrayofbothTempfractional = [[NSMutableArray alloc] init];

 [ArrayofbothTempfractional addObject:@".0"];
 [ArrayofbothTempfractional addObject:@".1"];
 [ArrayofbothTempfractional addObject:@".2"];
 [ArrayofbothTempfractional addObject:@".3"];
 [ArrayofbothTempfractional addObject:@".4"];
 [ArrayofbothTempfractional addObject:@".5"];
 [ArrayofbothTempfractional addObject:@".6"];
 [ArrayofbothTempfractional addObject:@".7"];
 [ArrayofbothTempfractional addObject:@".8"];
 [ArrayofbothTempfractional addObject:@".9"];

 Appdelegate = (FertilityAppAppDelegate*)[[UIApplication sharedApplication] delegate];


 return self;             
}



    - (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
    { 
        [self updateLabel];
    }

    -(void) updateLabel
    {
        Appdelegate.pickerRowCompzero=[pickerView selectedRowInComponent:0];
     Appdelegate.pickerRowCompone=[pickerView selectedRowInComponent:1];

     NSString *integer   = [ArrayofTempIntegerofFahrenheit objectAtIndex:Appdelegate.pickerRowCompzero];
     NSString *fraction  = [ArrayofbothTempfractional      objectAtIndex: Appdelegate.pickerRowCompone]; 

     NSString *fahrenheit  = [NSString stringWithFormat:@"%@%@",integer,fraction];
     Appdelegate.valueConv = [fahrenheit floatValue]; 

     label.text=[NSString stringWithFormat:@"%.1f",Appdelegate.valueConv];
     NSLog(@"float:%f ",Appdelegate.valueConv);

edit    // [pickerView reloadAllComponents];
    }

Ответы [ 2 ]

0 голосов
/ 26 января 2011

Удалено из updateLabel

Appdelegate.pickerRowCompzero=[pickerView selectedRowInComponent:0];
Appdelegate.pickerRowCompone=[pickerView selectedRowInComponent:1];

Изменения, сделанные в методе didSelectRow

Appdelegate.pickerRowCompzero=[pickerView selectedRowInComponent:0];
Appdelegate.pickerRowCompone= [pickerView selectedRowInComponent:1];
0 голосов
/ 10 января 2011

Прежде всего, почему вы перезагружаете свой сборщик в конце updateLabel?

чтобы инициализировать ваш пикап к определенному значению ххх, вы должны использовать

[pickerView selectRow:xxx  inComponent:0 animated:FALSE]; // set default values

Есть хороший учебник для бесконечного сборщика по тексту ссылки

...