From 8e34ec2cebce0d9762d11126c5d13b9ebadf350e Mon Sep 17 00:00:00 2001 From: terry_hug Date: Fri, 28 Nov 2014 10:46:58 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E7=BF=BB=E8=AF=91?= =?UTF-8?q?=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit refer to self as a value 翻译错误 测试不可以pass ```swift let aaa = self super.init() ``` 可以pass ```swift self.idLabel = UILabel() et aaa = self.idLabel super.init() ``` --- source/chapter2/14_Initialization.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/chapter2/14_Initialization.md b/source/chapter2/14_Initialization.md index 49816951..5672d558 100755 --- a/source/chapter2/14_Initialization.md +++ b/source/chapter2/14_Initialization.md @@ -375,7 +375,7 @@ Swift 编译器将执行 4 种有效的安全检查,以确保两段式构造 #### 安全检查 4 -构造器在第一阶段构造完成之前,不能调用任何实例方法、不能读取任何实例属性的值,也不能引用`self`的值。 +构造器在第一阶段构造完成之前,不能调用任何实例方法、不能读取任何实例属性的值,`self`的值不能被引用。 以下是两段式构造过程中基于上述安全检查的构造流程展示: From c8623e66cb8bb21730db5ecb661b87afca138530 Mon Sep 17 00:00:00 2001 From: terry_hug Date: Fri, 28 Nov 2014 13:02:01 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E6=96=B0=E6=96=87=E6=A1=A3=E8=A1=A5?= =?UTF-8?q?=E5=85=85=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/chapter2/14_Initialization.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/chapter2/14_Initialization.md b/source/chapter2/14_Initialization.md index 5672d558..239801e5 100755 --- a/source/chapter2/14_Initialization.md +++ b/source/chapter2/14_Initialization.md @@ -377,6 +377,8 @@ Swift 编译器将执行 4 种有效的安全检查,以确保两段式构造 构造器在第一阶段构造完成之前,不能调用任何实例方法、不能读取任何实例属性的值,`self`的值不能被引用。 +类实例在第一阶段结束以前并不是完全有效,仅能访问属性和调用方法,一旦完成第一阶段,该实例才会声明为有效实例。 + 以下是两段式构造过程中基于上述安全检查的构造流程展示: #### 阶段 1