swift中value type和reference type
2015-09-27 23:46
253 查看
swift中有enum,struct,class其中enum和struct是值传递,class是引用传递。
在swift中值传递时将值copy给新的变量或常量时并不会马上copy,而是在新的变量修改其中的属性后才会进行copy,这样做可以减少大量值传递所带来的性能问题。
swift中的基础数据结构使用struct来实现,如Array,String,dictionary,Int,Double。在作文函数的参数时应注意传递方式为值传递,并且作为函数参数时默认设置为let。如函数
arr类型为let arr:[Int]
struct S { var data:Int = 0 } var a = S() var b = a //将a的值传递给b b.data = 1 //b修改值并不影响a print("\(a.data)") //此处输出0 class C{ var data:Int = 0 } var c = C() var d = c //将c的引用传递给d d.data = 1 //修改d将会改变c print("\(c.data)") //此处输出1
在swift中值传递时将值copy给新的变量或常量时并不会马上copy,而是在新的变量修改其中的属性后才会进行copy,这样做可以减少大量值传递所带来的性能问题。
swift中的基础数据结构使用struct来实现,如Array,String,dictionary,Int,Double。在作文函数的参数时应注意传递方式为值传递,并且作为函数参数时默认设置为let。如函数
func f(arr:[Int]){ var a = arr }
arr类型为let arr:[Int]
相关文章推荐
- Apple Swift学习教程
- Swift中实现点击、双击、捏、旋转、拖动、划动、长按手势的类和方法介绍
- Swift中定义二维数组的方法及遍历方法示例
- 简单分析Swift语言的一些基本特征
- Swift与C语言指针结合使用实例
- Swift心得笔记之控制流
- 用Swift构建一个简单的iOS邮件应用的方法
- 苹果公司推出的新编程语言Swift简介和入门教程
- Swift中的指针操作和使用详细介绍
- Swift中使用正则表达式的一些方法
- Swift心得笔记之运算符
- Swift中使用可选类型完美解决占位问题
- Swift学习笔记之构造器重载
- Swift中的Access Control权限控制介绍
- Swift类型创建之自定义一个类型详解
- Swift教程之控制流详解
- Swift中初始化方法的顺序介绍
- Swift里的值类型与引用类型区别和使用
- Swift调用Objective-C编写的API实例