willSet & didSet

class People : NSObject

{

//普通属性

  var firstName:String = ""

  var lastName:String  = ""

  var nickName:String  = ""

//计算属性

var fullName:String {

  get {

       return nickName + " " + firstName + " " + lastName

     }

}

//带属性监视器的普通属性

var age:Int = 0 {

//我们需要在age属性变化前做点什么

  willSet {

    println("Will set an new value \(newValue) to age")

  }

//我们需要在age属性发生变化后,更新一下nickName这个属性

didSet {

    println("age filed changed form \(oldValue) to \(age)")

    if age<10 {

  nickName = "Little"

  }else {

  nickName = "Big"

  }

  }

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 渲染: 1 当前屏幕渲染:在GPU的当前屏幕缓冲区中进行的渲染 2 离屏渲染:在GPU当前屏幕缓冲区外另建缓冲区渲...
    adrian920阅读 3,003评论 0 0
  • importUIKit classViewController:UITabBarController{ enumD...
    明哥_Young阅读 9,403评论 1 10
  • import Foundation class People : NSObject {//普通属性var firs...
    歌手的剑阅读 3,150评论 0 0
  • swift - willSet didSet 属性初始化设值 不会触发 willSet 和 didSet 属性 设...
    iOS_愛OS阅读 4,524评论 0 1
  • 世间万物冥冥之中有着一种天注定的机缘。有时候觉得认识一个新朋友或者是做成一件事情都是上天早就安排好了的。这...
    梁兰芳阅读 3,038评论 2 2