willSet and didSet observers are not called when a property is first initialized. They are only called when the property’s value is set outside of an initialization context.
英语不好,翻译的大概意思就是willSet和didSet如果在初始化的时候调用是无效的
但是又非常想在初始化的时候调用didSet,那么可以采用KVC的方式给对象初始化,就可以调用didSet了