在我的Android应用程序中,我将Kotlin与SugarORM结合使用,我遇到了一个问题,试图阻止某些属性被持久化.具有讽刺意味的是,在Kotlin类中使用时,@ com.orm.dsl.Ignore注释似乎被忽略了.
举个例子,
1)让我们宣布两个看似相同的模型:
// JavaUser.javapublic class JavaUser extends SugarRecord { public String login = "login"; @Ignore public String password = "password";}// KotlinUser.ktclass KotlinUser : SugarRecord() { var login: String = "login" @Ignore var password: String = "password"}
2)坚持他们的实例
JavaUser().save()KotlinUser().save()
3)并查看实际持续存在的内容:
sqlite> select * from java_user;ID|LOGIN1|loginsqlite> select * from kotlin_user;ID|LOGIN|PASSWORD1|login|password
我意识到它可能与Kotlin注释处理有关,但我只是不确定如何去做.任何建议都是最受欢迎的.
解决方法:
Java和Kotlin代码之间的核心区别在于Java中使用字段,但在Kotlin中使用属性.请参阅文档中的Properties and Fields部分.
您可以尝试以下解决方案,看看SugarORM的效果如何:
1.让Kotlin揭露领域:
@Ignore @JvmFIEld var password: String = "password"
2.将注释应用于私有支持字段:
@fIEld:Ignore var password: String = "password"
总结 以上是内存溢出为你收集整理的android – Kotlin:Sugar ORM坚持@忽略了属性全部内容,希望文章能够帮你解决android – Kotlin:Sugar ORM坚持@忽略了属性所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)