Spec-Zone.ru › Kotlin 1.6

observable

kotlin-stdlib / kotlin.properties / Delegates / observable
Требования к платформе и версии: JVM (1.0), JS (1.0), Native (1.0)
inline fun <T> observable(
    initialValue: T, 
    crossinline onChange: (property: KProperty<*>, oldValue: T, newValue: T) -> Unit
): ReadWriteProperty<Any?, T>

Возвращает делегат свойства для свойства чтения/записи, который вызывает указанную функцию обратного вызова при изменении.

import kotlin.properties.Delegates

import kotlin.test.*

fun main(args: Array<String>) {
//sampleStart
var observed = false
var max: Int by Delegates.observable(0) { property, oldValue, newValue ->
    observed = true
}

println(max) // 0
println("observed is ${observed}") // false

max = 10
println(max) // 10
println("observed is ${observed}") // true
//sampleEnd
}

Параметры

initialValue - начальное значение свойства.

onChange - функция обратного вызова, которая вызывается после изменения свойства. Значение свойства уже было изменено, когда вызывается этот обратный вызов.

© 2010–2020 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.properties/-delegates/observable.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API