美文网首页
swift 深拷贝浅拷贝~实现class的深拷贝

swift 深拷贝浅拷贝~实现class的深拷贝

作者: Zax_Smile | 来源:发表于2018-05-16 15:35 被阅读379次

换了新公司,开启了swift的大门,任何语言的学习都需要项目的支撑,以前学习swift只是停留在看书,看语法~来的新的公司,需要使用swift,赶鸭子上架,经历了2个月,项目完成,但是感觉自己的swift还是欠缺很多,这里把自己遇到的一些问题,总结一下,要是有人搜到了这篇文章,希望对你有所帮助。

在swift中值类型是深拷贝,引用类型为浅拷贝。至于什么是深拷贝,什么是浅拷贝就不解释了,相信大家都懂得,不懂得请自行百度。

swift引用类型包括:(引用类型的区域为:堆区)

class 和闭包

小tip查看引用类型的内存地址的方法 

查看内存地址

引用类型的比较

使用 ===  或者  !== 比较引用类型的引用是否一致,或者是遵守Equatable协议使用 ==  或 !=

值类型(栈区)

包括:struct、enum、tuple、 Int、Double、Float、String、array、Dictionary、Set

内存地址的打印

彩蛋部分~~~重点如何实现class类的深拷贝(换而言之model如何实现深拷贝)

基本的需求

NO1.页面跳转的时候属性的赋值

NO2.页面的一些用户操作

实现办法

第一种 最简单的方法

model 用struct类,放弃class类

第二种

1、继承NSObject,NScopy

2.实现copy方法

3.使用

使用方法

注意点

我们一般的从后台获取的数据肯定是很长,结构一般都比较复杂,所以很多时候,会出来model类中有另一个model的类型,这种在做深拷贝的时候,另一个model也需要实现深拷贝,在赋值的时候单独copy

好咯就这样了不想写了,不明白的自行百度吧

附上我写的一个demo吧

我的json解析工具使用objectMapper

所以比较麻烦

可以参考

demo链接demo链接

相关文章

  • swift 深拷贝浅拷贝~实现class的深拷贝

    换了新公司,开启了swift的大门,任何语言的学习都需要项目的支撑,以前学习swift只是停留在看书,看语法~来的...

  • js浅拷贝深拷贝

    js浅拷贝,深拷贝的简单实现 基础数据 浅拷贝 深拷贝

  • 深拷贝、浅拷贝

    父类实现深拷贝时,子类如何实现深度拷贝。父类没有实现深拷贝时,子类如何实现深度拷贝。 深拷贝同浅拷贝的区别:浅拷贝...

  • 面试题整理

    父类实现深拷贝时,子类如何实现深度拷贝。父类没有实现深拷贝时,子类如何实现深度拷贝。 深拷贝同浅拷贝的区别:浅拷贝...

  • 面试 (一) : 基础篇

    父类实现深拷贝时,子类如何实现深度拷贝。父类没有实现深拷贝时,子类如何实现深度拷贝。• 深拷贝同浅拷贝的区别:浅拷...

  • 基础

    1、父类实现深拷贝时,子类如何实现深度拷贝。父类没有实现深拷贝时,子类如何实现深度拷贝。 深拷贝同浅拷贝的区别:浅...

  • 常见的面试(一)

    父类实现深拷贝时,子类如何实现深度拷贝。父类没有实现深拷贝时,子类如何实现深度拷贝。• 深拷贝同浅拷贝的区别:浅拷...

  • iOS基础知识点(网络摘抄)

    1.父类实现深拷贝时,子类如何实现深拷贝。父类没有实现深拷贝时,子类如何实现深拷贝? 深拷贝同浅拷贝的区别:...

  • iOS面试基础一

    #父类实现深拷贝时,子类如何实现深度拷贝.父类没有实现深拷贝时,子类如何实现深度拷贝.# <(1)深拷贝同浅拷贝的...

  • iOS知识点(一)

    1.1 父类实现深拷贝时,子类如何实现深度拷贝。 父类没有实现深拷贝时,子类如何实现深度拷贝。深拷贝同浅拷贝的区别...

网友评论

      本文标题:swift 深拷贝浅拷贝~实现class的深拷贝

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