set方法与get方法中如果要用到变量,不能直接引用,需要用field字段来代表当前变量,否则会死循环,示例如下
错误的:
var isOpen: Boolean = false
set(value) {
isOpen = value
if (value) ....}
正确的:
var isOpen: Boolean = false
set(value) {
field = value
if (value) ....}
网友评论