未解决的参考:Kotlin 中的字段
Unresolved reference: field in Kotlin
我想实现以下逻辑:
@Volatile
public var loggedIn = false
public set(value) {
if (this.loggedIn != value) {
this.loggedIn = value
database.write(LOGGED_IN, value)
}
}
当然,这会导致堆栈溢出,因为在 this.loggedIn = value 行中,setter 被一次又一次地调用。
在 kotlinlang.org 他们说我可以这样设置,如果 属性 有一个支持字段:
var counter = 0 // the initializer value is written directly to the backing field
set(value) {
if (value >= 0)
field = value
}
但是,我无法在 setter 中使用字段字词,因为它表示字段是未解析的引用。不明白为什么,这个属性有后台,至少idea是这么说的
现在怎么办???
正如@Aaron Sarazan 在问题的评论中所建议的那样:我没有使用最新的可用 Kotlin。从 M13 升级到 1.0.0-beta 解决了我的问题。
我想实现以下逻辑:
@Volatile
public var loggedIn = false
public set(value) {
if (this.loggedIn != value) {
this.loggedIn = value
database.write(LOGGED_IN, value)
}
}
当然,这会导致堆栈溢出,因为在 this.loggedIn = value 行中,setter 被一次又一次地调用。
在 kotlinlang.org 他们说我可以这样设置,如果 属性 有一个支持字段:
var counter = 0 // the initializer value is written directly to the backing field
set(value) {
if (value >= 0)
field = value
}
但是,我无法在 setter 中使用字段字词,因为它表示字段是未解析的引用。不明白为什么,这个属性有后台,至少idea是这么说的
现在怎么办???
正如@Aaron Sarazan 在问题的评论中所建议的那样:我没有使用最新的可用 Kotlin。从 M13 升级到 1.0.0-beta 解决了我的问题。