From 3d04bfc33e9f829e6d1cb1fa20604461f102e4d2 Mon Sep 17 00:00:00 2001 From: eric <8040334@qq.com> Date: Thu, 5 Jun 2014 12:55:56 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=94=99=E5=AD=97?= =?UTF-8?q?=E5=92=8C=E6=8E=92=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- chapter1/02_a_swift_tour.html | 4 ++-- chapter2/03_Strings_and_Characters.html | 4 ++-- source/chapter1/02_a_swift_tour.md | 4 ++-- source/chapter2/03_Strings_and_Characters.md | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/chapter1/02_a_swift_tour.html b/chapter1/02_a_swift_tour.html index a95f15e0..82545824 100644 --- a/chapter1/02_a_swift_tour.html +++ b/chapter1/02_a_swift_tour.html @@ -743,7 +743,7 @@ sumOf(42, 597, 12)
函数可以嵌套。被嵌套的函数可以访问外侧函数的变量,你可以使用嵌套函数来重构一个太长或者太复杂的函数。
func returnFifteen() -> Int {
var y = 10
- func add() {
+ func add() {
y += 5
}
add()
@@ -867,7 +867,7 @@ var triangle = EquilateralTriangle(sideLength: 3.1, name: "a triangle"
triangle.perimeter
triangle.perimeter = 9.9
triangle.sideLength
-在perimeter的 setter 中,新值的名字是newValue。你可以在set之后显示的设置一个名字。
在perimeter的 setter 中,新值的名字是newValue。你可以在set之后显式的设置一个名字。
注意EquilateralTriangle类的构造器执行了三步:
Swift 的 String 类型是值类型。如果您创建了一个新的字符串,那么当其进行常量、变量赋值操作或在函数/方法中传递时,会进行值拷贝。任何情况下,都会对已有字符串值创建新副本,并对该新副本进行传递或赋值。值类型在 Structures and Enumerations Are Value Types 中进行了说明。
注意:
-其 Cocoa 中的 NSString 不同,当您在 Cocoa 中创建了一个 NSString 实例,并将其传递给一个函数/方法,或者赋值给一个变量,您永远都是传递或赋值同一个 NSString 实例的一个引用。除非您特别要求其进行值拷贝,否则字符串不会进行赋值新副本操作。
+与 Cocoa 中的 NSString 不同,当您在 Cocoa 中创建了一个 NSString 实例,并将其传递给一个函数/方法,或者赋值给一个变量,您永远都是传递或赋值同一个 NSString 实例的一个引用。除非您特别要求其进行值拷贝,否则字符串不会进行赋值新副本操作。
Swift 默认字符串拷贝的方式保证了在函数/方法中传递的是字符串的值,其明确了无论该值来自于哪里,都是您独自拥有的。您可以放心您传递的字符串本身不会被更改。
在实际编译时,Swift编译器会优化字符串的使用,使实际的复制只发生在绝对必要的情况下,这意味着您始终可以将字符串作为值类型的同时获得极高的性能。
@@ -743,7 +743,7 @@ let whispered = normal.lowercaseStringUnicode 是文本编码和表示的国际标准。它使您可以用标准格式表示来自任意语言几乎所有的字符,并能够对文本文件或网页这样的外部资源中的字符进行读写操作。
Swift 的字符串和字符类型是完全兼容 Unicode 的,它支持如下所述的一系列不同的 Unicode 编码。
Unicode 中每一个字符都可以被解释为一个或多个 unicode 标量。字符的 unicode 标量是一个唯一的21位数字(和名称),例如 U+0061 表示小写的拉丁字母A ("a"),U+1F425 表示正面站立的鸡宝宝 ("🐥")
Unicode 中每一个字符都可以被解释为一个或多个 unicode 标量。字符的 unicode 标量是一个唯一的21位数字(和名称),例如 U+0061 表示小写的拉丁字母A ("a"),U+1F425 表示 ("🐥")
当 Unicode 字符串被写进文本文件或其他存储结构当中,这些 unicode 标量将会按照 Unicode 定义的集中格式之一进行编码。其包括 UTF-8 (以8位代码单元进行编码) 和 UTF-16 (以16位代码单元进行编码)。
Swift 提供了几种不同的方式来访问字符串的 Unicode 表示。
diff --git a/source/chapter1/02_a_swift_tour.md b/source/chapter1/02_a_swift_tour.md index 40bdf456..6050b2f3 100644 --- a/source/chapter1/02_a_swift_tour.md +++ b/source/chapter1/02_a_swift_tour.md @@ -200,7 +200,7 @@ func returnFifteen() -> Int { var y = 10 - func add() { + func add() { y += 5 } add() @@ -345,7 +345,7 @@ triangle.perimeter = 9.9 triangle.sideLength -在`perimeter`的 setter 中,新值的名字是`newValue`。你可以在`set`之后显示的设置一个名字。 +在`perimeter`的 setter 中,新值的名字是`newValue`。你可以在`set`之后显式的设置一个名字。 注意`EquilateralTriangle`类的构造器执行了三步: diff --git a/source/chapter2/03_Strings_and_Characters.md b/source/chapter2/03_Strings_and_Characters.md index 8fe256db..5a9ec2fc 100644 --- a/source/chapter2/03_Strings_and_Characters.md +++ b/source/chapter2/03_Strings_and_Characters.md @@ -89,7 +89,7 @@ Swift 的 **String** 类型是值类型。如果您创建了一个新的字符 > 注意: > -> 其 Cocoa 中的 NSString 不同,当您在 Cocoa 中创建了一个 NSString 实例,并将其传递给一个函数/方法,或者赋值给一个变量,您永远都是传递或赋值同一个 NSString 实例的一个引用。除非您特别要求其进行值拷贝,否则字符串不会进行赋值新副本操作。 +> 与 Cocoa 中的 NSString 不同,当您在 Cocoa 中创建了一个 NSString 实例,并将其传递给一个函数/方法,或者赋值给一个变量,您永远都是传递或赋值同一个 NSString 实例的一个引用。除非您特别要求其进行值拷贝,否则字符串不会进行赋值新副本操作。 Swift 默认字符串拷贝的方式保证了在函数/方法中传递的是字符串的值,其明确了无论该值来自于哪里,都是您独自拥有的。您可以放心您传递的字符串本身不会被更改。 @@ -256,7 +256,7 @@ Swift 的字符串和字符类型是完全兼容 Unicode 的,它支持如下 ###### Unicode 术语(Terminology) -Unicode 中每一个字符都可以被解释为一个或多个 unicode 标量。字符的 unicode 标量是一个唯一的21位数字(和名称),例如 `U+0061` 表示小写的拉丁字母A ("a"),`U+1F425` 表示正面站立的鸡宝宝 ("🐥") +Unicode 中每一个字符都可以被解释为一个或多个 unicode 标量。字符的 unicode 标量是一个唯一的21位数字(和名称),例如 `U+0061` 表示小写的拉丁字母A ("a"),`U+1F425` 表示 ("🐥") 当 Unicode 字符串被写进文本文件或其他存储结构当中,这些 unicode 标量将会按照 Unicode 定义的集中格式之一进行编码。其包括 `UTF-8` (以8位代码单元进行编码) 和 `UTF-16` (以16位代码单元进行编码)。 From c6c80a0ce24fffab645537c68e24915ad6a03c5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E6=9D=B0?=