Per spiegare meglio come ho provato a usare il metodo replaceCharacterInRange incollo qui tutto e non un estrapolato:
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|"];
NSLog (frasoneMutabile);
frasoneTrisMutabile = [frasoneTrisMutabile stringByReplacingOccurrencesOfString:@"|" withString:@""];
NSLog (frasoneMutabile);
Questo é quello che provo a fare:
- creo frasone e gli assegno una stringa
- creo stringa mutabile frasoneMutabile e gli assegno il contenuto di frasone
- sostituisco all'indice 7 di frasoneMutabile le 5 lettere che trova con |ind|
- cerco di levare le |
Cosi funziona e in console tutto appare come volevo anche se il compilatore mi dice (warning in giallo):
assignement from distict Objective-C type
Non capisco cosa voglia dire ma va bene lo stesso... tanto é un esercizio e alla fine funziona...
A questo punto per annidare le ultime due istruzioni provo a seguire l'idea che in Objective-C si usano i metodi come mesaggi da inviare ad un ricevitore:
[ricevitore messaggio]
E cerco di usare come ricevitore:
codice:
[frasoneMutabile replaceCharactersInRange:NSMakeRange(7, 5) withString:@"|ind|"]
E come messaggio:
codice:
stringByReplacingOccurrencesOfString:@"|" withString:@""
E unisco le due righe cosi:
codice:
[[frasoneMutabile replaceCharactersInRange:NSMakeRange(7, 5) withString:@"|ind|"] stringByReplacingOccurrencesOfString:@"|" withString:@""];
E il compilatore mi urla dietro:
error: syntax error before 'stringByReplaceOccurencesOfString'
Probabilmente, penso io, gli manca il ricevitore... ovvero non mi prende tutto quello in quadra come ricevente del metodo...