private var mValue: M? = null
override fun getValue(thisRef: Any, property: KProperty<*>): M = mValue as M
override fun setValue(thisRef: Any, property: KProperty<*>, value: M) {
mValue = value
function(value)
}
} /////////////////////////////////////// var user: User? by ViewBinder {
// userのセッターが呼ばれた時にこの関数が呼ばれる
// このときActivityがクローズされていたら?
// activityUiThreadWithContextの中で呼ぶこと
when (it) {
null -> {
}
else -> {
ui.textView?.apply {
text = it?.name
}
}
}
} 7JFX#JOEFS ͜Ε Data BindingͷΘΓʹɺDelegationΛͬͯ Model͔ΒViewͷҰํόΠϯσΟϯάΛ࡞ͬͨͭͰ͢Ͷ userΛߋ৽͢Δͱɹ͜ͷׅހͷதͷؔΛݺΜͰ͘ΕΔΜͰɺTextViewΛߋ৽ͯ͠·͢ɻ σʔλ͝ͱʹɺରԠ͢ΔViewΛߋ৽͢Δ͜ͷׅހͷதʹ·ͱΊͯॻ͚ΔΜͰɺҰํόΠϯσΟϯάͳΒ Data BindingΑΓ͍͍͔͠Ε·ͤΜͶ