mi chiedo come convertire un NSArray[@"Apple", @"Pear ", 323, @"Orange"]
ad una stringa in Objective-C.Convert NSArray a NSString in Objective-C
risposta
NSString * result = [[array valueForKey:@"description"] componentsJoinedByString:@""];
Questo non compirebbe la stessa cosa che chiamare [descrizione dell'array]? – TechZen
@TechZen - no, perché '[descrizione matrice]' inserisce una nuova riga e la parentesi esterna. –
Questa dovrebbe essere la risposta scelta! – pixelfreak
Un approccio potrebbe essere quello di iterare l'array, chiamando il messaggio description
su ogni elemento:
NSMutableString * result = [[NSMutableString alloc] init];
for (NSObject * obj in array)
{
[result appendString:[obj description]];
}
NSLog(@"The concatenated string is %@", result);
altro approccio sarebbe quello di fare qualcosa in base alla classe di ogni articolo:
NSMutableString * result = [[NSMutableString alloc] init];
for (NSObject * obj in array)
{
if ([obj isKindOfClass:[NSNumber class]])
{
// append something
}
else
{
[result appendString:[obj description]];
}
}
NSLog(@"The concatenated string is %@", result);
Se vuoi virgole e altre informazioni estranee, puoi semplicemente fare:
NSString * result = [array description];
Se la matrice ha molti elementi, potrebbe essere più efficiente convertire prima tutti gli elementi in stringhe (probabilmente usando '-description') e concatenarli successivamente usando' -componentsJoinedByString: 'con' @ "" 'come parametro. –
Vorrei andare con questo metodo su quello di Dave Delong a meno che non sia il tuo debug. – TechZen
Recentemente ho trovato davvero un buon tutorial su Objective-C Strings:
http://ios-blog.co.uk/tutorials/objective-c-strings-a-guide-for-beginners/
e ho pensato che questo potrebbe essere di interesse:
Se si desidera dividere la stringa in un array utilizzare un metodo chiamato componentsSeparatedByString per raggiungere questo obiettivo:
NSString *yourString = @"This is a test string";
NSArray *yourWords = [myString componentsSeparatedByString:@" "];
// yourWords is now: [@"This", @"is", @"a", @"test", @"string"]
se è necessario dividere su una serie di diversi charact diversa ERS, utilizzare componentsSeparatedByCharactersInSet di NSString:
NSString *yourString = @"Foo-bar/iOS-Blog";
NSArray *yourWords = [myString componentsSeparatedByCharactersInSet:
[NSCharacterSet characterSetWithCharactersInString:@"-/"]
];
// yourWords is now: [@"Foo", @"bar", @"iOS", @"Blog"]
Nota tuttavia che la stringa di separazione non può essere vuoto. Se è necessario separare una stringa nei suoi singoli caratteri, basta scorrere la lunghezza della stringa e convertire ogni carattere in una nuova stringa:
NSMutableArray *characters = [[NSMutableArray alloc] initWithCapacity:[myString length]];
for (int i=0; i < [myString length]; i++) {
NSString *ichar = [NSString stringWithFormat:@"%c", [myString characterAtIndex:i]];
[characters addObject:ichar];
}
NSString * str = [componentsJoinedByString:@""];
e si dispone di serie DIC o multipla poi utilizzato soffietto
NSString * result = [[array valueForKey:@"description"] componentsJoinedByString:@""];
penso la risposta di Sanjay era quasi lì, ma l'ho usato in questo modo
NSArray *myArray = [[NSArray alloc] initWithObjects:@"Hello",@"World", nil];
NSString *greeting = [myArray componentsJoinedByString:@" "];
NSLog(@"%@",greeting);
in uscita:
2015-01-25 08:47:14.830 StringTest[11639:394302] Hello World
Come Sanjay aveva accennato - ho usato il metodo componentsJoinedByString da NSArray che non unisce e si restituisce NSString
BTW NSString ha metodo reverse componentsSeparatedByString che fa il suddivisione e ti dà NSArray indietro.
Il modo in cui so è facile.
var NSArray_variable = NSArray_Object[n]
var stringVarible = NSArray_variable as String
n
è la posizione interna nella matrice Questo a SWIFT lingua. Potrebbe funzionare in Objective C
Swift soluzione 3.0:
let string = array.joined(separator: ",")
NSArray *array = [NSArray arrayWithObjects:@"One",@"Two",@"Three", nil];
NSString *stringFromArray = [array componentsJoinedByString:@" "];
La prima riga inizializza un array con gli oggetti. La seconda riga unisce tutti gli elementi di tale array aggiungendo la stringa all'interno di "" e restituisce una stringa.
Sebbene questo codice possa rispondere alla domanda, fornire un contesto aggiuntivo sul perché e/o su come questo codice risponde alla domanda migliora il suo valore a lungo termine. –
Grazie per il vostro consiglio, sinceramente! –
- 1. Come dividere newline da NSString in ObjectiveC
- 2. Objective C Convert int a NSString (iPhone)
- 3. NSString da NSArray
- 4. Come convertire NSArray in NSString
- 5. NSObject rilasciato, NSString, NSArray no?
- 6. Come dividere una NSString delimitata in NSArray
- 7. Come unire elementi NSArray in una NSString?
- 8. NSArray separato a un elenco di tipo NSString oggetti
- 9. Implementare protocollo ObjectiveC in rapida
- 10. Verifica se l'istanza NSString è contenuta in un NSArray
- 11. NSMutableArray a NSArray in Objective C
- 12. Conversione di una NSString di dati JSON su NSArray
- 13. iOS sorta una NSArray del Tempo NSString di
- 14. Convert System.Drawing.Color a System.Windows.Media.Color
- 15. Converti JSON in NSArray
- 16. NSDictionary a NSArray?
- 17. ObjectiveC blocca l'equivalente Java
- 18. Come aggiungere una NSString a un'altra NSString
- 19. Convert String a int array in Java
- 20. Convert csv grande a hdf5
- 21. Javascript convert PascalCase a underscore_case
- 22. jQuery - convert .live() a .on()
- 23. Convert VB a C# - My.Application.Info.DirectoryPath
- 24. Come convertire NSData in NSString?
- 25. convertire NSDictionary a NSString
- 26. @ "" rispetto a [NSString string]
- 27. Conversione NSDecimalNumber a NSString
- 28. NSString a NSUInteger
- 29. NSString a NSDate
- 30. Convertire NSArray a NSMutableArray Swift
[Converti NSString separato da virgola in NSArray] (http://stackoverflow.com/a/8204215/194544) – beryllium
@beryllium Quella domanda è stata posta due * anni * dopo la mia domanda. – alexy13