NSString的存储问题
NSString的存储问题
我是BUG 发表于2年前
NSString的存储问题
  • 发表于 2年前
  • 阅读 22
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 十分钟定制你的第一个小程序>>>   

摘要: NSString 定义方式的不同,会分配在不同的内存空间。

 1.format 方法:
 1>.如果字符串字节数小于12,一般存在栈区。  ==地址和值都不可变。
 2>.如果大于12,存在堆区。  ==地址可变,值不可变。
 
 2.initWithString和 stringWithString 方法:
 1>.如果原字符串存在于常量区,则该字符串指向原字符串的常量区地址。==地址和值都不可变。
 2>.如果原字符串存在于堆区,则该字符串指向原字符串的堆区地址。==地址可变,值不可变。
 3>.如果原字符串在栈区,则该字符串会在堆区开辟新的空间。==值不可变,地址可变。
 
 可变不可变的只是值,跟地址没有关系。如果copy的是栈区字符串,会在堆区开辟新空间。相当于深拷贝。可变字符串用 copy 也是深拷贝。



标签: NSString
共有 人打赏支持
粉丝 0
博文 1
码字总数 239
×
我是BUG
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: