О Боже, какой беспорядок.stringByAppendingString
не изменяет строку, она создает и возвращает новую:
// Sets str2 to “hello, world”, does not change str1.
NSMutableString *str1 = [NSMutableString stringWithString:@"hello, "];
NSString *str2 = [str1 stringByAppendingString:@"world"];
Если вы хотите изменить саму изменяемую строку, используйте метод appendString
:
// Does not return anything, changes str1 in place.
[str1 appendString:@"world"];
Кроме того, это утечка:
self.mutableString = [[NSMutableString alloc] init];
Это лучше всего записать как:
mutableString = [[NSMutableString alloc] init];
… потому что использование методов доступа в init
и dealloc
не лучшая идея .