set方法與get方法中如果要用到變量,不能直接引用,需要用field字段來(lái)代表當(dāng)前變量,否則會(huì)死循環(huán),示例如下
錯(cuò)誤的:
var isOpen: Boolean = false
set(value) {
isOpen = value
if (value) ....}
正確的:
var isOpen: Boolean = false
set(value) {
field = value
if (value) ....}