请问如何单独存一个值呢
Closed this issue · 2 comments
HeJingWei commented
不知道我这样写对不对
object LanguageRepository : MMKVOwner {
override val kv: MMKV
get() = MMKV.mmkvWithID("language")
val currLang by mmkvString()
fun putCurrLang(language: String) {
kv.encode(::currLang.name, language)
}
fun clearCurrLang() {
kv.removeValueForKey(::currLang.name)
}
}
DylanCaiCoding commented
把 val
改成 var
:
object LanguageRepository : MMKVOwner {
var currLang by mmkvString()
override val kv = MMKV.mmkvWithID("language")
}
可以赋值 null 清除数据:
// 保存数据
LanguageRepository.currLang = "en"
// 清除数据
LanguageRepository.currLang = null
重写 kv
属性最好直接用等号赋值不要 get() =
,不然 MMKV.mmkvWithID("language")
会执行多次。
HeJingWei commented
好的谢谢