2012-04-26 12 views

Respuesta

150

Utilice el método de instancia NSArraycomponentsJoinedByString:.

- (NSString *)componentsJoinedByString:(NSString *)separator.

Ejemplo:

NSString *joinedComponents = [array componentsJoinedByString:@","];

+0

Así los objetos de mi serie tienen 4 o 5 propiedades , ¿cómo le digo que se una solo a los valores de id? – Jhorra

+1

Si acaba de registrar uno de sus objetos, ¿qué obtiene? ¿Solo los valores de identificación? Si es así, eso es lo que obtendrá con componentsJoinedBuString: Pruébelo y vea. – rdelmar

+0

Lo intentaré y ver – Jhorra

7

Si estás en busca de la misma solución en Swift, puede utilizar esto:

var array:Array<String> = ["string1", "string2", "string3"] 
var commaSeperatedString = ", ".join(array) // Results in string1, string2, string3 

asegurarse de que su matriz no contiene valores nil, puede usar un filtro:

array = array.filter { (stringValue) -> Bool in 
    return stringValue != nil && stringValue != "" 
} 
+0

Esto no parece funcionar para NSMutableArray en Swift. La búsqueda en Google aún no ha revelado una respuesta. – ultrageek

+0

@Twan Gracias, tu respuesta es (casi) exactamente lo que estaba buscando ... Casi, porque necesito concatenar Cadenas opcionales, algunas de las cuales podrían ser nulas (y por eso no quiero concatenarlas), pero esta solución no acepta String opcional, requiere desenvolverlos ... tal vez tuviste un problema similar en el pasado, de ser así, ¿podrías ayudarme? – cdf1982

+0

@ cdf1982 He actualizado mi respuesta. Puedes hacer esto usando el método de filtro. – Antoine

3

Crear cadena de matriz:

-(NSString *)convertToCommaSeparatedFromArray:(NSArray*)array{ 
    return [array componentsJoinedByString:@","]; 
} 

Crear una matriz a partir de la secuencia:

-(NSArray *)convertToArrayFromCommaSeparated:(NSString*)string{ 
    return [string componentsSeparatedByString:@","]; 
} 
2

Swift :)

var commaSeparatedString = arrayOfEntities.joinWithSeparator(",") 
+1

La pregunta especifica un lenguaje de programación. Por favor considere cambiarlo a objetivo - c. – handiansom

+0

@handiansom Eso fue 2012. –

+0

Sí, me di cuenta también.^^ – handiansom

Cuestiones relacionadas