字符串的内存浅解:
OC语言中的指针是用来指示对象的;声明一个变量,令其指向某个对象,如:NSString *someString = @"the string";
这样对象所占的内存分配到了“堆空间”中,someString变量指向分配在堆里的某块内存。也就是说,如果在创建一个变量,令其指向同一个地址,那么并不拷贝改对象,只是这两个变量会同时指向此对象:
NSString *someString = @"the string";
NSString *anotherString = someString;
只有一个NSString实例,然而有两个变量指向此实例。两个变量都是NSString*型,这说明当前“栈帧”里分配了两块内存,每块内存的大小都能够容下一枚指针。这两块内存里的值都是一样的,就是NSString实例的内存地址。