212NSString and NSMutableString

Should have been clear, but was not:
NSString *s = @"aString";
s = @"anotherString";
NSLog(@"%@", s);
// anotherString

NSMutableString *m = @"aMutableString";
[m appendString:@"andAnAppendedString"];
NSLog(@"%@", m);
// aMutableStringandAnAppendedString
NString allows for the replacement of its whole content by simply assigning a new value. With NSMutableString it is possible to add/delete/insert strings at arbitrary places in a string.

201Changing NSMutableString into NSString

NSMutableString *s; … -(void)functionA:(NSString *)string { [self.s appendString: string]; } -(void)functionB:(NSString *)string { NSString* c = self.s; NSString* c = [NSString stringWithString: self.s]; } “Returns a string created by copying the characters from another given string.” self.s is a refernce to s, might change over time, stringWithString makes a copy, a “snapshot” of self.s…