未解决的参考: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 解决了我的问题。