NSString immutable позволяет менять его значения?

Приведенный ниже код компилируется и запускается, НО в соответствии со всеми книгами по разработке iPhone и документацией Apple, это не должно! Может кто-нибудь объяснить мне, почему неизменный NSString позволяет изменять свои значения после того, как он был установлен? Я думал, что я должен использовать NSMuttableString, чтобы изменить контекст той же строковой переменной? Я использую SDK 3.1.

NSString *test =[[NSString alloc] initWithString:@"TEST"];
[test release];
test = @"TEST2";

Ответы на вопрос(3)

Ваш ответ на вопрос