Вставьте данные в основной сюжет

Я новичок в основном сюжете. Я хочу использовать основной сюжет в своем приложении для отображения данных, которые я получаю из удаленной базы данных. Я могу поместить данные, которые хочу использовать, в массивы, но я не знаю, как использовать эти массивы для изменения моей графики.

Я смотрю на сайте google core-plot (http://code.google.com/p/core-plot/) и на переполнении стека, но я не смог найти что-то, что могло бы мне помочь.

Это то, что отображается на графике, и я хочу использовать свои массивы для вставки своих данных в график.

ОТРЕДАКТИРОВАНО:

-(NSNumber *)numberForPlot:(CPPlot *)plot field:(NSUInteger)fieldEnum recordIndex:(NSUInteger)index 
{

 NSDecimalNumber *num = nil;
 if ( [plot isKindOfClass:[CPBarPlot class]] ) {
  switch ( fieldEnum ) {
   case CPBarPlotFieldBarLocation:
    num = (NSDecimalNumber *)[NSDecimalNumber numberWithUnsignedInteger:index];
    break;
   case CPBarPlotFieldBarLength:
            //num = (NSDecimalNumber *)[NSDecimalNumber numberWithUnsignedInteger:(index+10)+15];
//num = [NSNumber numberWithInt:values];
//num = (NSDecimalNumber *)[arrayTemperature objectAtIndex:index];
num =[ NSDecimalNumber numberWithInt:arrayTemperature ];

    if ( [plot.identifier isEqual:@"Bar Plot 2"] ) 
     num = [num decimalNumberBySubtracting:[NSDecimalNumber decimalNumberWithString:@"10"]];
    break;
  }
 }

 return num;
}

Я также пробовал:

case CPBarPlotFieldBarLength:               
                //num = (NSDecimalNumber *)[NSDecimalNumber numberWithUnsignedInteger:(index+20)];
                //num = [NSNumber numberWithInt:values];
                //num = (NSDecimalNumber *)[arrayTemperature objectAtIndex:index]
                num=nil;
                int i=0;
                for (i=0; i=9;i++){

                    num = [arrayTemperature objectAtIndex:i];

                }

Если у кого-то есть идея о том, как использовать массивы, или другая идея, чтобы справиться с этим, пожалуйста, дайте мне знать.


person ciwol    schedule 06.12.2010    source источник


Ответы (2)


Предполагая, что arrayTemperature является массивом NSNumbers (или NSDecimalNumbers), это будет работать. Ваш массив может содержать [NSNull null] для представления отсутствующих значений.

-(NSNumber *)numberForPlot:(CPPlot *)plot field:(NSUInteger)fieldEnum recordIndex:(NSUInteger)index 
{
    NSDecimalNumber *num = nil;
    if ( [plot isKindOfClass:[CPBarPlot class]] ) {
        switch ( fieldEnum ) {
        case CPBarPlotFieldBarLocation:
            num = (NSDecimalNumber *)[NSDecimalNumber numberWithUnsignedInteger:index];
            break;
        case CPBarPlotFieldBarLength:
            num = [arrayTemperature objectAtIndex:index];
            break;
        }
    }

    return num;
}
person Eric Skroch    schedule 07.12.2010
comment
Я попробовал ваше решение, но оно не работает, и я не знаю, почему, я работаю над этим уже 3 дня и не нахожу решения. Я проверяю свой массив, и он не пустой, он проверяет тип и его NSNumber. Я не знаю, что делать больше - person ciwol; 07.12.2010

Итак, я наконец решил свою проблему. Если кому-то интересно, вот как я это сделал:

    NSURL *getTemperature = [NSURL URLWithString:@"http://.....php"];   
    arrayTemperature = [[NSArray alloc] initWithContentsOfURL:getTemperature ];
    NSLog(@"Températures Array :%@",arrayTemperature);

    NSURL *getTemps = [NSURL URLWithString:@"http://....php"];  
    arrayTemps = [[NSArray alloc] initWithContentsOfURL:getTemps ];
    NSLog(@"Temps Array : %@",arrayTemps);

и в моей функции:

-(NSNumber *)numberForPlot:(CPPlot *)plot field:(NSUInteger)fieldEnum recordIndex:(NSUInteger)index 
{
    NSNumber *num = nil;
    if ( [plot isKindOfClass:[CPBarPlot class]] ) {
        switch ( fieldEnum ) {
            case CPBarPlotFieldBarLocation:
                //num = [NSNumber numberWithUnsignedInteger:index];
                num = (NSNumber *)[NSNumber numberWithUnsignedInteger:[[arrayTemps objectAtIndex:index] unsignedIntegerValue]];
                break;
            case CPBarPlotFieldBarLength:
                num = (NSNumber *)[NSNumber numberWithUnsignedInteger:[[arrayTemperature objectAtIndex:index] unsignedIntegerValue]];
            break;
        }
    }


    return num;
}
person ciwol    schedule 13.12.2010