未解决的参考: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 } 

不过,我不能在字段中使用字段,因为字段是未解决的参考。 我不明白为什么,这个属性有一个后盾领域,至少是Idea说的。

现在怎么办???

正如@Aaron Sarazan在这个问题的评论中所建议的:我没有使用最新的Kotlin。 从M13升级到1.0.0-beta解决了我的问题。