15.3 Swift集合类的拷贝
来源:互联网 发布:深入浅出rails 知乎 编辑:程序博客网 时间:2024/04/28 23:44
/**
集合类的拷贝操作
*/
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, 2, 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", 1: "a"]
我们可以看到改变dict1后,dict并没有被改变啊。
所以上面是深拷贝。
*/
print("------------------------>")
var ocArray:NSMutableArray = NSMutableArray.init(array: [1,2, 3])
/**
open class NSMutableArray : NSArray
我们点击安住Command点击NSMutableArray可以看到是 class类型,引用类型
类,引用类型的赋值操作是浅拷贝
*/
var ocArray1 = ocArray
ocArray1.add(7)
print("ocArray1==\(ocArray1)")
print("ocArray==\(ocArray)")
/**
ocArray1==(
1,
2,
3,
7
)
ocArray==(
1,
2,
3,
7
)
改变ocArray1后,ocArray也改变了,是浅拷贝。
*/
- 15.3 Swift集合类的拷贝
- swift 集合(Collection)类型的赋值和拷贝行为
- 15.4 Swift深入分析集合类型的拷贝操作
- Collection -> 集合的拷贝
- Collection -> 集合的拷贝
- Collection -> 集合的拷贝
- Collection -> 集合的拷贝
- 关于集合的拷贝
- 15.2 Swift字符串的拷贝
- swift:集合类下标
- swift 集合类
- Swift 集合类
- Java集合的深拷贝
- Swift中的集合类数据结构
- 创建 Swift 自定义集合类
- iOS 集合的深拷贝与浅拷贝
- 集合类型的赋值和拷贝
- java中list集合的深度拷贝
- 永远不要高估一个人对你的情感
- 静态函数库 和 动态函数库
- WebSocket in ASP.NET Core
- app接口 封装通信接口
- 分页功能的实现
- 15.3 Swift集合类的拷贝
- 欢迎使用CSDN-markdown编辑器
- 微信小程序开发—你期待的分享功能来了,微信小程序序新增5大功能
- [代码笔记] python 之 smtp发送邮件
- webpack对样式的处理
- 15.4 Swift深入分析集合类型的拷贝操作
- 关于.NET使用Microsoft.Office.Interop.Excel导出“异常来自 HRESULT:0x800A03EC”
- (十一)C语言静态内存分配
- Tkinter编程 - 对象