2
2
3
3
访问属于实例或类型的存储值和计算值。
4
4
5
- * 属性* 将值与特定的类、结构或枚举关联。存储属性将常量和变量值作为实例的一部分进行存储,而计算属性则计算(而不是存储)一个值。计算属性由类、结构和枚举提供。存储属性仅由类和结构提供 。
5
+ ** 属性** 将值与特定的类、结构或枚举关联。存储属性将常量和变量值作为实例的一部分进行存储,而计算属性则计算(而不是存储)一个值。计算属性由类、结构和枚举提供。存储属性仅由类和结构体提供 。
6
6
7
7
<!--
8
8
- test: `enumerationsCantProvideStoredProperties`
@@ -63,7 +63,7 @@ struct FixedLengthRange {
63
63
let length: Int
64
64
}
65
65
var rangeOfThreeItems = FixedLengthRange (firstValue : 0 , length : 3 )
66
- // 该区间表示整数 0,1,2,3
66
+ // 该区间表示整数 0,1,2
67
67
rangeOfThreeItems.firstValue = 6
68
68
// 该区间现在表示整数 6,7,8
69
69
```
@@ -77,9 +77,9 @@ rangeOfThreeItems.firstValue = 6
77
77
let length: Int
78
78
}
79
79
-> var rangeOfThreeItems = FixedLengthRange(firstValue: 0, length: 3)
80
- // 该区间表示整数 0,1, 2
80
+ // the range represents integer values 0, 1, and 2
81
81
-> rangeOfThreeItems.firstValue = 6
82
- // 该区间现在表示整数 6,7, 8
82
+ // the range now represents integer values 6, 7, and 8
83
83
```
84
84
-->
85
85
@@ -101,7 +101,7 @@ rangeOfFourItems.firstValue = 6
101
101
102
102
```swifttest
103
103
-> let rangeOfFourItems = FixedLengthRange(firstValue: 0, length: 4)
104
- // 该区间表示整数 0,1,2, 3
104
+ // this range represents integer values 0, 1, 2, and 3
105
105
-> rangeOfFourItems.firstValue = 6
106
106
!$ error: cannot assign to property: 'rangeOfFourItems' is a 'let' constant
107
107
!! rangeOfFourItems.firstValue = 6
@@ -116,7 +116,7 @@ rangeOfFourItems.firstValue = 6
116
116
117
117
因为 ` rangeOfFourItems ` 被声明为常量(使用 ` let ` 关键字),所以即使 ` firstValue ` 是一个可变属性,也无法再修改它了。
118
118
119
- 这种行为是由于结构体属于* 值类型* 。当值类型的实例被声明为常量的时候,它的所有属性也就成了常量。
119
+ 这种行为是由于结构体属于** 值类型* * 。当值类型的实例被声明为常量的时候,它的所有属性也就成了常量。
120
120
121
121
属于* 引用类型* 的类别则不一样,把一个引用类型的实例赋给一个常量后,依然可以修改该实例的可变属性。
122
122
0 commit comments