NSString unveränderlich ermöglicht es, seine Werte zu ändern?

Der folgende Code wird kompiliert und ausgeführt, ABER laut allen iPhone-Entwicklungsbüchern und Apple-Dokumentationen sollte es nicht sein! Kann mir bitte jemand erklären, warum unveränderliche NSString-Werte geändert werden können, nachdem sie festgelegt wurden? Ich dachte, ich müsste NSMuttableString verwenden, um den Kontext derselben Zeichenfolgenvariablen zu ändern. Ich verwende SDK 3.1.

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

Antworten auf die Frage(3)

Ihre Antwort auf die Frage