美文网首页iOS面试知识点收集
swift 归纳总结(一)

swift 归纳总结(一)

作者: 不辣先生 | 来源:发表于2020-01-06 10:40 被阅读0次
871558-20190731180409547-2139036988.png

一、open与public的区别

public:可以别任何人访问,但是不可以被其他module复写和继承。
open:可以被任何人访问,可以被继承和复写。

二、struct与class 的区别

struct是值类型,class是引用类型。

值类型的变量直接包含它们的数据,对于值类型都有它们自己的数据副本,因此对一个变量操作不可能影响另一个变量。
引用类型的变量存储对他们的数据引用,因此后者称为对象,因此对一个变量操作可能影响另一个变量所引用的对象。
二者的本质区别:struct是深拷贝,拷贝的是内容;class是浅拷贝,拷贝的是指针。
property的初始化不同:class 在初始化时不能直接把 property 放在 默认的constructor 的参数里,而是需要自己创建一个带参数的constructor;而struct可以,把属性放在默认的constructor 的参数里。
变量赋值方式不同:struct是值拷贝;class是引用拷贝。
immutable变量:swift的可变内容和不可变内容用var和let来甄别,如果初始为let的变量再去修改会发生编译错误。struct遵循这一特性;class不存在这样的问题。
mutating function: struct 和 class 的差別是 struct 的 function 要去改变 property 的值的时候要加上 mutating,而 class 不用。
继承: struct不可以继承,class可以继承。
struct比class更轻量:struct分配在栈中,class分配在堆中。
三、swift把struct作为数据模型

3.1优点

安全性: 因为 Struct 是用值类型传递的,它们没有引用计数。
内存: 由于他们没有引用数,他们不会因为循环引用导致内存泄漏。
速度: 值类型通常来说是以栈的形式分配的,而不是用堆。因此他们比 Class 要快很多!
拷贝:Objective-C 里拷贝一个对象,你必须选用正确的拷贝类型(深拷贝、浅拷贝),而值类型的拷贝则非常轻松!
线程安全: 值类型是自动线程安全的。无论你从哪个线程去访问你的 Struct ,都非常简单。
3.2 缺点

Objective-C与swift混合开发:OC调用的swift代码必须继承于NSObject。
继承:struct不能相互继承。
NSUserDefaults:Struct 不能被序列化成 NSData 对象
本文出处https://www.cnblogs.com/edensyd/p/11278116.html

相关文章

  • swift 归纳总结(一)

    一、open与public的区别 public:可以别任何人访问,但是不可以被其他module复写和继承。open...

  • Swift Review总结一:从 Swift Style 开始

    Swift Review总结一:从 Swift Style 开始 Swift Review总结一:从 Swift ...

  • Swift-函数

    重新阅读了Swift中文文档的函数章节,总结出以下文档中提到的13种函数,归纳如下:

  • Docker 基础知识

    本文是泊学网站上对应章节的归纳总结,原文视频和文字内容更加详实深入。强烈推荐泊学的一手 Swift 视频学习资料!...

  • 基于 Docker 的 Vapor 开发环境

    本文是泊学网站上对应章节的归纳总结,原文视频和文字内容更加详实深入。强烈推荐泊学的一手 Swift 视频学习资料!...

  • Swift Optional ( 可选类型 ) 总结

    一、Optional 定义归纳 (1).Swift中声明一个变量或常量时需要返回nil。(2).Swift中基础类...

  • 总结归纳

    我发现我一开始做总结的工作就开心起来。

  • 总结归纳

    今天早上听书就听到归纳两个字,开早会时珊首席也提到了总结归纳。 想想自己来赢家这么久了,有哪些时候真正做到了总结归...

  • 归纳&总结

    机器学习技能树整理 按问题类型划分 分类问题 Logistic Regression 总结:特征的线性组合+非线性...

  • 归纳总结

    准备要去买车,才了解到原来车还分为这么多的级别 国内一般把A00级、A0级、A级、B级、C级、D级称为 微型车、小...

网友评论

    本文标题:swift 归纳总结(一)

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