// 2.值类型 & 引用类型
//-----结构体变量 属于 值类型。相当于copy
//------类对象 属于 引用类型。相当于strong
struct Point{
var x: Int
var y: Int
}
var point_99 = Point(x: 2,y: 6)
print("第一次初始化的点 \(point_99)")
//这里的直接赋值,相当于是把point_99 拷贝一份,把拷贝的那份给point_100,所以当之后修改point_99的值时,是不会影响point_100的。就像我们去打印东西一样,打印结束后,无论你怎么修改原稿,我们手头copy到的那份是不会有任何改动的,除非你再重新打印一遍。
var point_100 = point_99
point_99.x = 100
point_99.y = 100
print("通过直接赋值 \(point_100)")
class Point_Point {
var x: Int
var y: Int
init(x: Int,y: Int){
self.x = x
self.y = y
}
}
var point_point = Point_Point(x: 23,y: 22)
print("第一次通过类初始化的值: \(point_point.x) \(point_point.y)")
//但是这里的直接赋值就不一样了。这里是相当于point_point_00这个对象指向了point_point指向的那块内存。所以,当下一次再改动point_point指向的内容时,point_point_00里的内容也是跟着变动的。
var point_point_00 = point_point
point_point.x = 100
point_point.y = 100
第二次通过属性修改的值: \(point_point_00.x) \(point_point_00.y)")
总结以上是内存溢出为你收集整理的swift 2.0 值类型 和 引用类型全部内容,希望文章能够帮你解决swift 2.0 值类型 和 引用类型所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)