修改类和结构体赋值和拷贝行为翻译错误

之前的翻译实在没看懂,而且有纰漏,改成更清晰的说明
This commit is contained in:
terry_hug
2014-11-17 19:05:28 +08:00
parent 4f9b0e73c6
commit edd8151ec8

View File

@ -279,9 +279,10 @@ if tenEighty === alsoTenTighty {
<a name="assignment_and_copy_behavior_for_collection_types"></a>
## 集合Collection类型的赋值和拷贝行为
Swift 中`数组Array`和`字典Dictionary`类型均以结构体的形式实现。然而当数组被赋予一个常量或变量,或被传递给一个函数或方法时,其拷贝行为与字典和其它结构体有些许不同
Swift 中`字符串String`,`数组Array`和`字典Dictionary`类型均以结构体的形式实现。这意味着StringArrayDictionary类型数据被赋值给新的常量(或变量,或被传函数或方法)中时,它们的值会发生拷贝行为(值传递方式)
Objective-C中`字符串NSString`,`数组NSArray`和`字典NSDictionary`类型均以类的形式实现这与Swfit中以值传递方式是不同的。NSStringNSArrayNSDictionary在发生赋值或者传入函数或方法不会发生值拷贝而是传递已存在实例的引用。
以下对`数组`和`结构体`的行为描述与对`NSArray`和`NSDictionary`的行为描述在本质上不同,后者是以类的形式实现,前者是以结构体的形式实现。`NSArray`和`NSDictionary`实例总是以对已有实例引用,而不是拷贝的方式被赋值和传递。
> 注意:
以上是对于数组,字典,字符串和其它值的`拷贝`的描述。