03/06 half done
This commit is contained in:
@ -73,3 +73,19 @@ class ExampleClass {
|
|||||||
```
|
```
|
||||||
|
|
||||||
`optional`
|
`optional`
|
||||||
|
|
||||||
|
用该特性修饰协议的属性,方法或下标成员,表示实现这些成员并不需要一致性类型。
|
||||||
|
|
||||||
|
你只能用`optional`特性修饰那些标记了`objc`特性的协议。因此,只有类类型可以adopt和comform to那些包含可选成员需求的协议。更多关于如何使用`optional`特性以及如何访问可选协议成员的指导,例如,当你不确定一个conforming类型是否实现了它们,请见:[可选协议需求]()。
|
||||||
|
|
||||||
|
`required`
|
||||||
|
|
||||||
|
用该特性修饰一个类的指定或便利初始化器,表示该类的所有子类都必需实现该初始化器。
|
||||||
|
|
||||||
|
加了该特性的指定初始化器必需显式地实现,而便利初始化器既可显式地实现,也可以在子类实现了超类所有指定初始化器后继承而来(或者当子类使用便利初始化器重写了指定初始化器)。
|
||||||
|
|
||||||
|
### Interface Builder使用的声明特性
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## 类型特性
|
||||||
|
|||||||
Reference in New Issue
Block a user