From ca610dd71ae7e3277d0e9db8128171da007b550d Mon Sep 17 00:00:00 2001 From: Hawstein Date: Mon, 9 Jun 2014 10:02:52 +0800 Subject: [PATCH] 03/06 half done --- source/chapter3/06_Attributes.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/source/chapter3/06_Attributes.md b/source/chapter3/06_Attributes.md index f760f287..6f6896d1 100644 --- a/source/chapter3/06_Attributes.md +++ b/source/chapter3/06_Attributes.md @@ -73,3 +73,19 @@ class ExampleClass { ``` `optional` + +用该特性修饰协议的属性,方法或下标成员,表示实现这些成员并不需要一致性类型。 + +你只能用`optional`特性修饰那些标记了`objc`特性的协议。因此,只有类类型可以adopt和comform to那些包含可选成员需求的协议。更多关于如何使用`optional`特性以及如何访问可选协议成员的指导,例如,当你不确定一个conforming类型是否实现了它们,请见:[可选协议需求]()。 + +`required` + +用该特性修饰一个类的指定或便利初始化器,表示该类的所有子类都必需实现该初始化器。 + +加了该特性的指定初始化器必需显式地实现,而便利初始化器既可显式地实现,也可以在子类实现了超类所有指定初始化器后继承而来(或者当子类使用便利初始化器重写了指定初始化器)。 + +### Interface Builder使用的声明特性 + + + +## 类型特性