From bd0ee0462cc25085bea56400cbf8097b025d5af7 Mon Sep 17 00:00:00 2001 From: shanksyang Date: Sun, 1 Nov 2015 10:26:41 +0800 Subject: [PATCH] =?UTF-8?q?mutating=20method=20=E7=BF=BB=E8=AF=91=E6=88=90?= =?UTF-8?q?=E5=8F=AF=E5=8F=98=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/chapter2/11_Methods.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/source/chapter2/11_Methods.md b/source/chapter2/11_Methods.md index 8890f2eb..02b24f86 100755 --- a/source/chapter2/11_Methods.md +++ b/source/chapter2/11_Methods.md @@ -163,9 +163,9 @@ print("The point is now at (\(somePoint.x), \(somePoint.y))") // 打印输出: "The point is now at (3.0, 4.0)" ``` -上面的`Point`结构体定义了一个变异方法(mutating method)`moveByX(_:y:)`用来移动点。`moveByX`方法在被调用时修改了这个点,而不是返回一个新的点。方法定义时加上`mutating`关键字,这才让方法可以修改值类型的属性。 +上面的`Point`结构体定义了一个可变方法(mutating method)`moveByX(_:y:)`用来移动点。`moveByX`方法在被调用时修改了这个点,而不是返回一个新的点。方法定义时加上`mutating`关键字,这才让方法可以修改值类型的属性。 -注意:不能在结构体类型常量上调用变异方法,因为常量的属性不能被改变,即使想改变的是常量的变量属性也不行,详情参见[常量结构体的存储属性](./10_Properties.html#stored_properties_of_constant_structure_instances): +注意:不能在结构体类型常量上调用可变方法,因为常量的属性不能被改变,即使想改变的是常量的变量属性也不行,详情参见[常量结构体的存储属性](./10_Properties.html#stored_properties_of_constant_structure_instances): ```swift let fixedPoint = Point(x: 3.0, y: 3.0) @@ -174,9 +174,9 @@ fixedPoint.moveByX(2.0, y: 3.0) ``` -### 在变异方法中给self赋值(Assigning to self Within a Mutating Method) +### 在可变方法中给 self 赋值(Assigning to self Within a Mutating Method) -变异方法能够赋给隐含属性`self`一个全新的实例。上面`Point`的例子可以用下面的方式改写: +可变方法能够赋给隐含属性`self`一个全新的实例。上面`Point`的例子可以用下面的方式改写: ```swift struct Point { @@ -187,9 +187,9 @@ struct Point { } ``` -新版的变异方法`moveByX(_:y:)`创建了一个新的结构(它的 x 和 y 的值都被设定为目标值)。调用这个版本的方法和调用上个版本的最终结果是一样的。 +新版的可变方法`moveByX(_:y:)`创建了一个新的结构(它的 x 和 y 的值都被设定为目标值)。调用这个版本的方法和调用上个版本的最终结果是一样的。 -枚举的变异方法可以把`self`设置为相同的枚举类型中不同的成员: +枚举的可变方法可以把`self`设置为相同的枚举类型中不同的成员: ```swift enum TriStateSwitch {