这会产生一个不可变的字符串对象:
NSString* myStringA = @"A"; //CORRECTED FROM: NSMutableString* myStringA = @"A";
这会产生一个可变的字符串对象:
NSMutableString* myStringB = [NSMutableString stringWithString:@"B"];
但是这两个对象都被报告为同一种对象,“NSCFString”:
NSLog(@"myStringA is type: %@, myStringB is type: %@",
[myStringA class], [myStringB class]);
那么是什么在内部区分这些对象,以及如何测试它,以便在对它做坏事之前轻松确定一个神秘的字符串变量是不可变的还是可变的?