主要是用在定义类的属性的时候,参考文章 http://www.cnblogs.com/zhouyinhui/p/3804195.html

willset{} 定义在将在设置属性值之前执行的代码块,

didset{} 定义在在设置属性后执行的代码块,可以监视值有变化的时候执行某操作

代码参考:

/*

定义表格 单元格

*/

class TableViewCell: UITableViewCell {

    var accessoryCheckmarkColor: UIColor = UIColor.whiteColor()

    var disclosureIndicatorColor: UIColor = UIColor.whiteColor()

    

    //箭头样式

    override var accessoryType: UITableViewCellAccessoryType {

        

        

        //设置右边属性的风格

        didSet {

            if self.accessoryType == .Checkmark {

                

                //右边是对号

                let customCheckmark = CustomCheckmark(frame: CGRect(x: 0, y: 0, width: 15, height: 15))

                customCheckmark.color = self.accessoryCheckmarkColor

                self.accessoryView = customCheckmark

            } else if self.accessoryType == .DisclosureIndicator {

                

                //右边是 右边是一个小箭头,距离右边10多个像素

                

                let di = DisclosureIndicator(frame: CGRect(x: 0, y: 0, width: 10, height: 14))

                di.color = self.disclosureIndicatorColor

                self.accessoryView = di

            } else {

                

                //是空

                self.accessoryView = nil

            }

            

            

        }

    }

    

    override init(style: UITableViewCellStyle, reuseIdentifier: String?) {

        super.init(style: style, reuseIdentifier: reuseIdentifier)

        

        self.updateContentForNewContentSize()

    }

    

    required init(coder aDecoder: NSCoder) {

        super.init(coder: aDecoder)

        

        self.updateContentForNewContentSize()

    }

    

    override func prepareForReuse() {

        super.prepareForReuse()

        self.updateContentForNewContentSize()

    }

    

    func updateContentForNewContentSize() {

        

    }

}