美文网首页
委托属性 可观察属性 Observable

委托属性 可观察属性 Observable

作者: Taylor_xu | 来源:发表于2018-10-24 16:36 被阅读0次

1 可观察属性 Observable  

可在 onlineCode  上运行查看结果

import kotlin.properties.Delegates

class User {

//observable 返回读写属性的属性委托,该属性在更改时调用指定的回调函数。

var name: String by Delegates.observable("无初始化值"){

    prop,old,new ->

        println("catch  ->$old -> $new")

}

//vetoable 返回读写属性的属性委托,该属性在更改时调用指定的回调函数,允许回调否决修改。

var age:Int by Delegates.vetoable(0){

    _,old,new ->

        if(new>old) true else throw IllegalArgumentException("New value must be larger than old value.")

}

}

fun main(args: Array<String>) {

val user = User()

user.name = "first"

user.name = "second"

    user.age=15

    println(user.age)

    user.age=13

    println(user.age)

}

相关文章

网友评论

      本文标题:委托属性 可观察属性 Observable

      本文链接:https://www.haomeiwen.com/subject/ckjxtqtx.html