Swift

Swift Day11 初始化器 协议

2020-12-09  本文已影响0人  望穿秋水小作坊

一、初始化器

1. required 关键字在修饰指定初始化器的时候有什么作用?
required
2. 父类的属性在它自己的初始化器中赋值会触发属性观察器吗?在子类初始化器重赋值呢?
3. 什么是可失败初始化器?怎么定义?我们接触过的官方可失败初始化器有哪些?
4. 什么是反初始化器(deinit)?反初始化器什么时候调用?子类的反初始化器和父类的反初始化器调用顺序如何?
反初始化器
5. 一个类型为 Person?的可选项实例,我们如何安全的访问它的属性和方法?我们如何判断它的方法是否被调用?

二、协议 Protocol

1. 协议可以定义什么?用在什么地方?
协议的基本认识
2. 协议中的属性的一些注意点
3. 协议中用哪个关键字定义类型方法?、类型属性?、类型下标? 为什么不用 class?
协议
4. 协议中定义的初始化器 init,有什么注意点?
5. 如果我们要求一个函数的参数必须遵从某个协议要怎么写?
参数中的协议
6. CaseIterable 是什么?有什么用?
7. CustomStringConvertible 是什么?有什么用?
CustomStringConvertible
8. Any 和 AnyObject 是什么?
Any 和 AnyObject
9. is、as?、as!、as 是干什么的?
is、as
10. X.self 、 X.Type 、 AnyClass
示例代码 上述代码的汇编说明
11. 从汇编的角度来看 type(of: <T>) 是函数吗?
示例代码 type(of: <T>)汇编
上一篇 下一篇

猜你喜欢

热点阅读