一、断言、访问控制
1. Self 和 self 有什么区别?
-
Self
一般代表当前类型 -
self
一般代表当前实例对象
2. 断言(assert)的机制是什么?断言和错误(Error)有什么区别?
- 断言机制:
不符合
指定条件就抛出运行时错误,常用于调试(Debug)阶段
的条件判断 - 默认情况下,Swift 的断言只会在 Debug 模式下生效,Release 模式下会忽略
-
错误
:可以进行捕获处理
,会出现在Debug 和 Release 模式
下
3. 什么是 fatalError?(了解)
4. 范围控制的 5 个级别是那五个?(了解)
- open、public、internal、fileprivate、private
- 在全局作用域下定义的 private 等价于 fileprivate
二、内存管理
1. Swift 借助什么技术管理内存?强应用、弱引用、无主引用分别是什么?有什么作用?
2. weak、unowned 只能用在类实例上面吗?
- 是的