Trong Kotlin chúng ta có thể xác định một quan sát cho một tài sản phi null,Kotlin: nullable đại biểu hữu quan sát
var name: String by Delegates.observable("<no name>") {
prop, old, new ->
println("$old -> $new")
}
tuy nhiên điều này là không thể
var name: String? by Delegates.observable("<no name>") {
prop, old, new ->
println("$old -> $new")
}
Điều gì sẽ là cách để xác định một có thể quan sát được cho một tài sản không có giá trị?
Edit: đây là lỗi biên dịch
Property delegate must have a 'setValue(DataEntryRepositoryImpl, KProperty<*>, String?)' method. None of the following functions is suitable:
public abstract operator fun setValue(thisRef: Any?, property: KProperty<*>, value: String): Unit defined in kotlin.properties.ReadWriteProperty
Tại sao bạn nghĩ nó không phải là có thể? Nó sẽ hoạt động tương tự. Vui lòng giải thích vấn đề bạn gặp phải với đoạn mã thứ hai. – voddan
Nó không biên dịch, cập nhật với lỗi trình biên dịch. – Francesc