Kotlin和@Transient

no *_*ews 4 android realm gson kotlin

哈瓦上课:

open class MessageDTO : RealmObject, Serializable {

    @PrimaryKey
    @SerializedName("message_id")
    var messageId: String? = null

    @SerializedName("chat")
    var chat: String? = null

    @SerializedName("chat_type")
    var chatType: String? = null

    @SerializedName("content")
    var content: ContentDTO? = null

    @SerializedName("created")
    var created: Date? = null

    @SerializedName("from")
    var from: String? = null

    @SerializedName("important")
    var important: Boolean? = null

    @SerializedName("is_first")
    var isFirst: Boolean? = null

    @SerializedName("is_group")
    var isGroup: Boolean? = null

    @SerializedName("is_last")
    var isLast: Boolean? = null

    @SerializedName("linked_messages")
    var linkedMessages: RealmList<MessageDTO>? = null

    @SerializedName("links")
    var links: RealmList<ModelLinks>? = null

    @SerializedName("read")
    var read: Boolean? = null

    @SerializedName("to")
    var to: String? = null

    @Ignore
    var displayName: String? = null

    @Ignore
    var authorPhoto: ModelIcons? = null

    @Transient
    var deliveredToServer: Boolean = false
Run Code Online (Sandbox Code Playgroud)

并且需要使用@Transient变量deliveredToServer 但有编译错误:

e:错误:类"MessageDTO"包含非法的瞬态字段"deliveredToServer".E:

e:java.lang.IllegalStateException:无法分析:org.jetbrains.kotlin.kapt3.diagnostic.KaptError:注释处理时出错

可能是什么问题呢?

Epi*_*rce 7

3.1.3中不支持瞬态字段,必须明确忽略@Ignore.

请参阅更改日志.

3.2.0(2017-05-16)

现在允许在模型类中使用瞬态字段,但隐式地将其视为具有@Ignore注释(#4279).