zoukankan      html  css  js  c++  java
  • 深浅复制

    • 1.浅复制:指针的复制
    • 2.深复制:内容的复制

    主要有两个关键字 copy 和mutablecopy

    1.对于基本类型 判断深浅方法

    1.只要=右边从创建到赋值,至少包含一个NSMutable便会重新生成一个对象。如果对一不可变对象复制,copy是指针复制(浅拷贝)和mutableCopy就是对象复制(深拷贝)。但是copy返回的对象是不可变.

    2.对于自定义对象的copy和mutableCopy

    首先必须遵守NSCopying,NSMutableCopying协议,不然当执行copy和mutableCopy时会崩溃!

    3.容器类型

    • 总结

    1.对于基本类型 copy是浅复制 mutablecopy是深复制

    2.对于容器集合类型 可变不可变copy都是深复制 但是对于可变的如果 用copy的话copy过来是一个不可变的,这样会导致修改是崩溃

    项目中切记勿对可变集合copy这样可能在操作新指针指向的对象时候回崩溃。

  • 相关阅读:
    前端工程师们,这些干货让你开发效率加倍
    我的代码片段
    人生至少有一次为了自己的勇气而活
    美食篇之御桥小聚
    美食篇之好好对自己
    F
    Github 简明教程
    A
    完美字符串
    1222: FJ的字符串 [水题]
  • 原文地址:https://www.cnblogs.com/keyan1102/p/12407732.html
Copyright © 2011-2022 走看看