Первый @ "Привет" является константой.Это не может быть видоизменено.Даже если указатель говорит, что это NSMutableString, фактический объект все еще является константой.
Чтобы создать объект NSMutableString, вам нужно сделать, например, [NSMutableString stringWithString:@"Hi"]
.
Также stringByAppendingString:
возвращает неизменную строку NSS, а не изменяемую строку.
Ваш код должен быть (1):
NSMutableString *a = [NSMutableString stringWithString:@"Hi"];
NSString *b = [a stringByAppendingString:@"\n\n Hi Again"];
(2):
NSMutableString *a = [NSMutableString stringWithString:@"Hi"];
[a appendString:@"\n\n Hi Again"];
или (3):
NSString *a = [NSString stringWithFormat:@"%@%@", @"Hi", @"\n\n Hi again"];
(1) даст вам две строки (одна изменяемая, одна неизменная), (2) даст вам одну изменяемую строку и (3)даст вам одну неизменную строку.