2010-03-05 5 views
7

Comment convertir NSArray en NSString en objectif-c?Comment faire pour convertir NSArray en NSString

+1

Pourriez-vous être plus précis? Un NSArray peut contenir des instances de n'importe quelle classe Objective-C. –

+1

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

+0

[Convertir NSString séparé par une virgule en NSArray] (http://stackoverflow.com/a/8204215/ 194544) – beryllium

Répondre

28

Ayant à l'esprit que vous ne dites pas ce qui est dans le NSArray, vous pouvez le faire:

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

Oui, je trouve que cela suppose fortement que vous avez du texte. Ou utilise-t-il le champ de description à la place? Très probablement ... Mais à peine utilisable dans ce contexte. – nembleton

12

Aternatively à la méthode de Frank, qui fonctionne assez bien, vous pouvez aussi faire

NSString *myArrayString = [array description]; 

L'implémentation par défaut de la description sur NSArray imprimera le contenu de façon soignée.

+0

un problème ici est que myArrayString aura {} autour du texte ... comment se débarrasser de cela? Merci! – TommyG

4

Voilà comment je l'ai converti mes NSArray à NSString

NSError *error = nil; 

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

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

C'est la méthode la plus sûre que j'ai trouvée en supposant que vous vouliez éventuellement revenir à un état de tableau. Merci! –

0

Swift 3.0 dernières mises à jour

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

Vous pouvez utiliser un séparateur en fonction que vous souhaitez séparer actuellement les éléments du tableau dans l'exemple ci-dessus est ",".