swift 2.0 值类型 和 引用类型

// 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


print("第二次通过属性修改的值: \(point_point_00.x) \(point_point_00.y)")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值