加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

15.3 Swift集合类的拷贝

发布时间:2020-12-14 06:30:59 所属栏目:百科 来源:网络整理
导读:/** 集合类的拷贝操作 */ var array: Array Int = [ 1 , 2 , 3 ] var array1 = array /** public struct ArrayElement 我们点击安住 Command 点击 String 可以看到是 结构体类型,值类型 值类型的赋值操作是深拷贝, */ array1 += [ 4 , 5 , 6 ] print ( "ar

/**

集合类的拷贝操作

*/

var array: Array<Int> = [1,2,3]

var array1 = array

/**

public struct Array<Element>

我们点击安住Command 点击String可以看到是 结构体类型,值类型

值类型的赋值操作是深拷贝,

*/

array1 += [4,5,6]

print("array==(array)")

print("array1==(array1)")

/**

array==[1,2,3]

array1==[1,3,4,5,6]

我们可以看到改变array1后,array并没有被改变啊。

所以上面是深拷贝。

*/

var dict: Dictionary<Int,String> = [1 : "a",2 : "b"]

var dict1 = dict

/**

public struct Dictionary<Key : Hashable,Value> : Collection

我们点击安住Command 点击Dictionary可以看到是 结构体类型,值类型

*/

print("------------------------>")

dict1[3] = "c"

print("dict1==(dict1)")

print("dict==(dict)")

/**

dict1==[2: "b",3: "c",1: "a"]

dict==[2: "b",0)"> 我们可以看到改变dict1后,dict并没有被改变啊。

*/

print("------------------------>")


var ocArray: NSMutableArray = NSMutableArray.init(array: [1,3])

/**

open class NSMutableArray : NSArray

我们点击安住Command 点击NSMutableArray可以看到是 class类型,引用类型

类,引用类型 的赋值操作是浅拷贝

*/


var ocArray1 = ocArray

ocArray1.add(7)

print("ocArray1==(ocArray1)")

print("ocArray==(ocArray)")


/**

ocArray1==(

1,

2,0)"> 3,0)"> 7

)

ocArray==(

改变ocArray1后,ocArray也改变了,是浅拷贝。

*/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读