Skip to content

Objective-C 学习笔记(八)

Published: at 10:23 PM

手动引用计数总结

自动引用计数总结

深浅拷贝

深拷贝

浅拷贝

拷贝方式

  1. retain:始终是浅拷贝。引用计数每次加1。返回对象是否可变与被复制的对象保持一致。
  2. copy:对于可变对象为深拷贝,引用计数不改变;对于不可变对象是浅拷贝,引用计数每次加1。始终返回一个不可变对象。
  3. mutableCopy:始终是深拷贝,引用计数不改变。始终返回一个可变对象。

并非所有的类都支持拷贝。只有遵循 NSCopying 协议的类,才支持 copy 拷贝,只有遵循 NSMutableCopying 协议的类,才支持 mutableCopy 拷贝。如果没有遵循拷贝协议拷贝时会出错。

参考

手把手教你ARC——iOS/Mac开发ARC入门和使用 Objective-C中的深拷贝和浅拷贝 Objective-C 程序设计 (第六版)