Eccovi un Tips davvero semplice, veloce e altrettanto utile: vediamo come poter concatenare due (o più) stringhe in Objective-C. Queste poche righe di codice potrebbero servirvi sia che stiate imparando a programmare per iPhone, iPod Touch, che per iPad o ancora Mac. Per comodità vi mostriamo due modalità, una più semplice da capire, che sfrutta “stringByAppendingString”, l’altra forse un po’ meno chiara per i giovani programmatori, ma comunque molto semplice e che utilizza “stringWithFormat“. Vediamo di cosa si tratta:
Concatenare stringhe tramite “stringByAppendingString”
//Dichiariamo due stringhe
NSString *stringa1 = @"Hello";
NSString *stringa2 = @"World!";
// Concateniamo le nostre due stringhe con il primo metodo, lasciando uno spazio tra le due
NSString *stringaTotale = [stringa1 stringByAppendingString @" "];
NSString *stringaTotale = [stringaTotale stringByAppendingString stringa2];
Concatenare stringhe tramite “stringWithFormat”
//Dichiariamo le stesse due stringhe dell'esempio precedente
NSString *stringa1 = @"Hello";
NSString *stringa2 = @"World!";
// Concateniamo le due stringhe con il secondo metodo, sempre lasciando uno spazio tra le due
NSString * stringaTotale = [NSString stringWithFormat:@"%@ %@", stringa1, stringa2];










4 Responses to “TIPS#012 – Concatenare più stringhe in Objective-C”
24 Maggio 2010
LeleCiao, i due metodi sono chiari, il secondo sembra la sprintf del c, una domanda…non esistono altri metodi per concatenare stringhe? tipo il ‘+’ di java o il ‘.’ del php
7 Settembre 2010
FulvioNo purtroppo
14 Settembre 2010
Fabiociao, segnalo un errore in quanto scritto:
stringByAppendingString vuole i :
28 Giugno 2011
longilineoè possibile concatenare un array “grezzo” di char?
per esempio ho una stringa del tipo:
char *myString = “questa è la prima parte”;
char *secondaparte = “…e questa è la seconda”;
Come faccio a concatenare e a mettere il risultato in *myString?
Ho provato a fare la concatenzione delle 2 stringhe e a mettere il risultato in un nsstring o nsmutablestring e in entrambe i casi la concatenazione riesce, tuttavia ho necessità di convertire il risultato in char* e facendo il casting si sballa tutto quanto.
Mi serve fare questo per creare query dinamiche da passare a sqlite3_prepare_v2.
Mi sapete dare una mano?