Skip to content

Commit 3ba7609

Browse files
committed
💬 fix comment
Change-Id: I8b1bf784e3ea26c57dba7321b79cd32e9f003578
1 parent 6e2857c commit 3ba7609

File tree

1 file changed

+25
-15
lines changed

1 file changed

+25
-15
lines changed

swift-6-beta.docc/LanguageGuide/Extensions.md

Lines changed: 25 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
# 拓展
1+
# 扩展
22

33
为现有类型添加功能。
44

5-
*扩展*可以给一个现有的类,结构体,枚举,或协议添加新的功能
5+
**扩展(Extensions)**用于为现有的类、结构体、枚举或协议类型添加新功能
66
这包括了扩展那些您无法访问原始源代码的类型的能力(即*追溯建模*)。
77
扩展和 Objective-C 的分类很相似。
88
(与 Objective-C 分类不同的是,Swift 扩展是没有名字的。)
@@ -218,10 +218,11 @@ print("A marathon is \(aMarathon) meters long")
218218
## 构造器
219219

220220
扩展可以为现有类型添加新的构造器。
221-
这使你可以扩展其他类型以接受你自己的自定义类型作为初始化器参数
221+
这使你可以扩展其他类型以接受你自己的自定义类型作为构造器参数
222222
或提供类型的原始实现中未包含的其他构造选项。
223223

224-
扩展可以为一个类添加新的便利构造器,但是它们不能为一个类添加新的指定构造器或析构器。
224+
扩展可以为一个类添加新的便利构造器(convenience initializer),
225+
但是它们不能为一个类添加新的指定构造器(designated initializer)或析构器(deinitializer)。
225226
指定构造器和析构器必须始终由类的原始实现提供。
226227

227228
如果你使用扩展为一个值类型添加构造器,并且该值类型提供了所有存储属性的默认值,
@@ -391,13 +392,13 @@ extension Int {
391392
```
392393
-->
393394

394-
### 可变实例方法
395+
### 变值实例方法
395396

396397
通过扩展添加的实例方法同样也可以修改(modify)(或 *改变(mutating)*)实例本身。
397398
修改 `self` 或其属性的结构体和枚举方法,必须将实例方法标记为 `mutating`
398-
就像原始实现中的修改方法一样。<!-- FIXME: 这里没想好 `mutating methods` 怎么翻译比较好>
399+
就像原始实现中的变值方法(mutating methods)一样。
399400

400-
下面的示例为 Swift 的 `Int` 类型添加了一个新的修改方法 `square`它可以将原始值平方
401+
下面的示例为 Swift 的 `Int` 类型添加了一个新的变值方法 `square`它可以计算原始值的平方
401402

402403
```swift
403404
extension Int {
@@ -428,11 +429,6 @@ someInt.square()
428429

429430
## 下标
430431

431-
Extensions can add new subscripts to an existing type.
432-
This example adds an integer subscript to Swift's built-in `Int` type.
433-
This subscript `[n]` returns the decimal digit `n` places in
434-
from the right of the number:
435-
436432
扩展可以为现有类型添加新的下标。
437433
这个示例为 Swift 内置的 `Int` 类型添加了一个整数下标。
438434
下标 `[n]` 返回数字从右边数第 `n` 位的十进制数字:
@@ -582,12 +578,12 @@ extension Int {
582578

583579
这个例子给 `Int` 添加了一个新的嵌套枚举。
584580
这个枚举叫做 `Kind`,表示特定整数所代表的数字类型。
585-
具体来说,它表示数字是负的、零的还是正的
581+
具体来说,它表示数字是负数、零还是正数
586582

587583
这个例子也给 `Int` 添加了一个新的计算实例属性,叫做 `kind`
588584
它返回被操作整数所对应的 `Kind` 枚举值。
589585

590-
现在,任意 `Int` 的值都可以使用这个嵌套枚举
586+
现在,这个嵌套枚举可以用于任何 `Int`
591587

592588
```swift
593589
func printIntegerKinds(_ numbers: [Int]) {
@@ -639,4 +635,18 @@ printIntegerKinds([3, 19, -27, 0, -6, 0, 7])
639635

640636
> 注意: `number.kind` 已经被认为是 `Int.Kind` 类型。
641637
> 所以,在 `switch` 语句中所有的 `Int.Kind` 枚举值可以被缩写,
642-
> 例如使用 `.negative` 替代 `Int.Kind.negative`
638+
> 例如使用 `.negative` 替代 `Int.Kind.negative`
639+
640+
> 测试版软件:
641+
>
642+
> 本文档包含有关正在开发的 API 或技术的初步信息。此信息可能会发生变化,根据本文档实施的软件应使用最终操作系统软件进行测试。
643+
>
644+
> 了解有关使用 [Apple 测试版软件](https://developer.apple.com/support/beta-software/) 的更多信息.
645+
646+
<!--
647+
This source file is part of the Swift.org open source project
648+
Copyright (c) 2014 - 2022 Apple Inc. and the Swift project authors
649+
Licensed under Apache License v2.0 with Runtime Library Exception
650+
See https://swift.org/LICENSE.txt for license information
651+
See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
652+
-->

0 commit comments

Comments
 (0)