这个didset 跟 set方法 有什么区别?

来源:4-4 swift属性观察器

嘿o大远

2016-06-08 09:30

个人理解是对象有set,非对象有didset么?

写回答 关注

4回答

  • 慕设计8024997
    2016-06-08 11:16:44
    已采纳

    set是计算属性的setter方法,相当于你对你要使用的属性来赋值,但不是直接的赋一个值,而是通过set{}里面的计算得到的一个值。

    didSet是针对属性值已经发生变化的方法,是对你关心的属性的一种观察。比如说当这个属性的值改变成为了一个newValue,这时如果你需要对这个newValue做一些操作和计算就可以在didSet{}中实现。

    set是用在计算属性中的,相当于setter方法。

    didSet是对属性值已经发生变化的观察,是对newValue的操作。

    willSet是对属性值将要发生变化的观察,是对oldValue的操作。

  • 梁华建
    2019-01-14 14:09:29

    注意一下 写了get 和 set方法的属性就是计算属性 而且就不能写didSet这些方法了

  • YumaiCode
    2016-07-31 20:17:03

    set是计算属性的setter方法,相当于你对你要使用的属性来赋值,但不是直接的赋一个值,而是通过set{}里面的计算得到的一个值。

    didSet是针对属性值已经发生变化的方法,是对你关心的属性的一种观察。比如说当这个属性的值改变成为了一个newValue,这时如果你需要对这个newValue做一些操作和计算就可以在didSet{}中实现。

    set是用在计算属性中的,相当于setter方法。

    didSet是对属性值已经发生变化的观察,是对oldValue的操作。

    willSet是对属性值将要发生变化的观察,是newValue对的操作。

  • 嘿o大远
    2016-06-08 13:28:52

    赞一个.虽然我都知道 但是set完全可以时间didiset的功能0 0感觉

    YumaiC...

    上面最后写反了。 didSet是对属性值已经发生变化的观察,是对oldValue的操作。 willSet是对属性值将要发生变化的观察,是newValue对的操作。

    2016-07-31 20:17:55

    共 1 条回复 >

玩儿转Swift 2.0(第三季)

玩儿转Swift面向对象,对swift语言的掌握达到中等偏上水平

13968 学习 · 41 问题

查看课程

相似问题