美文网首页
一分钟搞清楚 iOS 开发中的copy mutableCopy

一分钟搞清楚 iOS 开发中的copy mutableCopy

作者: 莫林是个好孩子 | 来源:发表于2021-07-26 18:58 被阅读0次

在 iOS开发中 撇开 可变对象 和 不可变对象 空谈 copy 和 mutableCopy是没有意义的。

对于 不可变对象(NSString ,NSArray,NSDictionary)

copy 返回一个不可变对象(__NSCFConstantString)浅拷贝

mutableCopy 返回一个可变对象(__NSCFString)深拷贝

对于可变对象(NSMutableString,NSMutableArray,NSMutableDictionary)

copy 和 mutableCopy 都是深拷贝

NSMutableString copy 和 copy 返回的都是一个新的可变对象

NSMutableArray,NSMutableDictionary:copy返回一个不可变对象,mutableCopy 返回一个可变对象

扩展:

nsstring 的属性修饰词 使用 strong 和 copy的 区别:

对于不可变对象 strong 和 copy 是一样的

对于可变对象,strong 是 浅拷贝 copy 是 深拷贝

相关文章

网友评论

      本文标题:一分钟搞清楚 iOS 开发中的copy mutableCopy

      本文链接:https://www.haomeiwen.com/subject/ylugmltx.html