https://www.cnblogs.com/billios/p/5591433.html
堆区:NSString *str = [[NSString alloc] initWithFormat:@"不可变"];//其中有汉字,是unicode,所以在堆区
常量区:NSString *str = [[NSString alloc] initWithFormat:@"123abc"];//纯在Ascll码,例如字母与数字的混合,编译器会在编译期用“悬垂指针”对其进行优化。可理解为在常量区。反正引用计数对此失效。
常量区:NSString *str = @"我来了";//[[NSString alloc] initWithString:@"我来了"];//两种方式都一样。都在常量区