2010-03-05 15 views
7

Cómo convertir NSArray en NSString en Objective-C?Cómo convertir NSArray en NSString

+1

¿Podría ser más específico? Un NSArray puede contener instancias de cualquier clase Objective-C. –

+1

Ver: http://stackoverflow.com/questions/1828665/convert-nsarray-to-nsstring-objective-c – mfazekas

+0

[Convertir NSString separado por coma a NSArray] (http://stackoverflow.com/a/8204215/ 194544) – beryllium

Respuesta

28

Teniendo en cuenta que usted no dice lo que está en el NSArray, usted puede hacer esto:

NSArray *arr = [NSArray arrayWithObjects: @"foo", @"bar", @"baz"]; 
[arr componentsJoinedByString: @","] 
+0

Sí, creo que esto supone que tienes texto. ¿O está usando el campo de descripción en su lugar? Lo más probable ... Pero apenas utilizable en ese contexto. – nembleton

12

Aternatively al método de Frank, que funciona bastante bien, también se puede hacer

NSString *myArrayString = [array description]; 

La implementación predeterminada de la descripción en NSArray imprimirá los contenidos de una manera pulcramente formateada.

+0

un problema aquí es que myArrayString tendrá {} alrededor del texto ... ¿cómo deshacerse de esto? ¡Gracias! – TommyG

4

Así es como me he convertido mis NSArray a NSString

NSError *error = nil; 

NSData *data = [NSJSONSerialization dataWithJSONObject:aArray options:kNilOptions error:&error]; 

NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; 
+0

Este es el método más seguro que he encontrado suponiendo que finalmente desea volver a un estado de matriz. ¡Gracias! –

0

Swift 3.0 más

let string = array.componentsJoined(by: ",")

puede utilizados cualquier separador en la función que desea separar los elementos de la matriz actualmente en el ejemplo anterior es ",".