kirillrakhman
02/20/2017, 4:09 PMobject Name {
operator fun provideDelegate(thisRef: Any?, property: KProperty<*>) = property.name
}
operator fun String.getValue(thisRef: Any?, property: KProperty<*>) = this
val foo by Name
fun main(args: Array<String>) {
println(foo) //prints "foo"
}
Guedes
02/20/2017, 4:18 PMfoo = "My data"
and the setValue
would do something like:
sharedPreferences.edit()
.putString(property.name, value)
.apply()
And a similar thing for the `getValue`:
sharedPreferences.getString(property.name, null)
kirillrakhman
02/20/2017, 4:20 PMproperty.name
is very usefulkirillrakhman
02/20/2017, 4:20 PM