Come convertire NSArray a valori interi

Nel mio iPhone applicando al di sotto di codice sono in grado di ottenere il valore di “i”

NSMutableArray *Array = [NSMutableArray arrayWithCapacity:100];

for (NSUInteger i = 0; i < 10; i++) {          
    id a = [NSDecimalNumber numberWithDouble:i];
    [Array addObject:[NSMutableDictionary dictionaryWithObjectsAndKeys:a, @"a", nil]];
 }

Ma se voglio ottenere il valore dall’array come per esempio un

NSArray * numberArray = [[NSArray alloc] initWithObjects:@"0.1",@"0.2",@"0.5",nil];

e poi se voglio usarlo come

NSMutableArray *Array = [NSMutableArray arrayWithCapacity:100];

for (NSUInteger i = 0; i < 10; i++) {          
    id a = [NSDecimalNumber numberWithDouble:[numberArray objectAtIndex:i]];
    [Array addObject:[NSMutableDictionary dictionaryWithObjectsAndKeys:a, @"a", nil]];
 }

Come posso fare questo?

OriginaleL’autore ios | 2011-02-02

3 risposte

  1. 6

    Io non capisco, ma cercherò di aiutarti.

    Se si desidera memorizzare numeri Interi in un NSArray utilizzare questo codice per impostare e ottenere loro :

    //Set
    NSArray *yourArray = [[NSArray alloc] initWithObjects:[NSNumber numberWithInt:1], [NSNumber numberWithInt:2], [NSNumber numberWithInt:3],nil];
    
    //Get
    int currentNumber;
    for(int i=0; i<[yourArray count]; i++)
    {
        currentNumber = [((NSNumber*)[yourArray objectAtIndex:i]) intValue];
    }
    Non dimenticare che -initWithObjects richiede un _ terminator…
    Sì grazie ! A cura
    Adams, Grazie per la risposta

    OriginaleL’autore MathieuF

  2. 1

    In modo che si avvia con questo array, il cui contenuto è fatto di NSString oggetti (@”0.1″ è una stringa):

    NSArray * numberArray = [[NSArray alloc] initWithObjects:@"0.1",@"0.2",@"0.5",nil];

    è possibile eseguire la scansione di ogni elemento utilizzando questo ciclo:

    for(NSString *strNum in numberArray) {
      float number = [strNum floatValue];
      NSLog(@"Number: %f",float);
    }

    la stringa galleggiante di conversione è possibile grazie alla floatValue() metodo di NSString.

    È possibile utilizzare doubleValue, longLongValue, integerValue per altri tipi. Questi metodi di restituire 0 se non è valido il numero di rappresentazione è data con la stringa.

    OriginaleL’autore viggio24

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *