若你是一个iOS开发者,最近准备出去面试,面试官很大可能性会问你,用过Swift吗?它跟OC有什么区别?为什么说它是一门安全语言?
今天我们就来谈谈为什么说Swift是一门安全语言?(仅个人学习总结)
主要从以下几个方面来陈述:
- 类型推断、类型判断、类型转换
- 可选值、可选绑定
当一个变量可能没有值的时候,我们会定义这个变量为optional变量,默认系统会赋值nil。当我们在使用可选值的时候 一般都用if let 或 guard let 做一个可选绑定。避免对nil进行后续的操作导致错误 - 自动引用计数
自动引用计数机制是针对引用类型而言的,像结构体,枚举,元组等值类型是没有这一说的。循环引用的产生,weak及unowned使用 - 内存安全
如何注意规避内存访问冲突,尤其注意inout参数及值类型mutating 函数时self的使用,以及闭包捕获情况下 - 访问控制
模块框架内部,默认访问权限是internal。像其它4个访问控制关键字分别为open、public、fileprivate、private。不同的场景下如何选择访问关键字,以及怎么决定访问控制关键字,该小结说的都很详细
先简单的归总几个方面,后续对每个点展开来讲。