Ciao a tutti,
il mio non é un vero e proprio problema ma un dubbio che mi é venuto ora oggi che stavo guardando i sopracitati oggetti NSString e NSMutableString.
Il primo si usa per dichiarare stringhe immutabili mentre il secondo per dichiarare stringhe su cui si possono eseguire operazioni come aggiungere (insertString), cancellare (deleteCharacterInRange), sostituire (replaceCharacterInRange) e probabilmente anche altre ma per ora ho visto questi metodi.
Sul primo oggetto peró ho eseguito l'operazione:
codice:
NSString *frasone = [frasone stringByReplacingOccurrencesOfString:@" " withString:@""];
NSLog (frasoneBis);
Che in realtá mi esegue un operazione di sostituzione e di fatto MODIFICA una stringa immutabile... Il dubbio che mi é sorto é piú che lecito... ma se si chiama immutabile perché la posso mutare? Se la posso mutare perché devo usare l'oggetto NSMutable String?
C'e' qualcosa che mi sfugge...
Chi mi puó spiegare sta cosa mi fa un piacere e se poi avete anche voglia di continuare a leggere...
Secondo busillis che mi é sorto spontaneo... stavo eseguendo dei test per i fatti miei quando ho provato ad annidare il codice per scrivere una riga in meno quando mi é venuto un errore... giá che ci sono chiedo se qlc mi sa spiegare il perché non funziona...
codice:
NSString *frasone = @"Ma che bella frase che ho inventato...";
NSLog (frasone);
NSMutableString *frasoneMutabile = [NSMutableString stringWithString:frasone];
NSLog (frasoneMutabile);
[[frasoneMutabile replaceCharactersInRange:NSMakeRange(7, 5) withString:@"|ind|"] stringByReplacingOccurrencesOfString:@"|" withString:@""];
NSLog (frasoneMutabile);
Questo mi da errore di sintassi...
In pratica alla quinta riga ho provato a sostituire una parola con |ind| e al contempo a levare le |
Tutto in una riga sola annidando questi due comandi diversi:
codice:
[frasoneMutabile replaceCharactersInRange:NSMakeRange(7, 5) withString:@"|ind|"];
frasoneMutabile = [frasoneMutabile stringByReplacingOccurrencesOfString:@"|" withString:@""];
In una sola riga di codice:
codice:
[[frasoneMutabile replaceCharactersInRange:NSMakeRange(7, 5) withString:@"|ind|"] stringByReplacingOccurrencesOfString:@"|" withString:@""];
Ringrazio anticipatamente chiunque abbia voglia di perdere un pó di tempo per darmi delucidazioni...