クラスの初期化順

Kotlin の初期化順序は

  1. コンストラクタ引数
  2. init
  3. 後続のプロパティ

ダメな例 loadData()が下にある

class SettingViewModel(
    private val dataStoreManager: DataStoreManager
) : ViewModel() {

    init {
        loadData()
    }

    private val _settingData = MutableStateFlow(SettingData())

    ...

    private val _restData = MutableStateFlow(RestData())
タイトルとURLをコピーしました