我有工厂
@AssistedFactory
interface SetNumberUseCaseFactory {
fun create(listener: UpdateFrontData,
exercisedWithSetsDTO: MutableList<ExerciseWithSetNo>,
setEntitiesList: MutableList<Exercise>): SetNumbersUseCase
}
在我的 viewModel 我有:
@HiltViewModel
class TrainingAddViewModel @Inject constructor(
private val trainingRepository: TrainingRepository,
private val state: SavedStateHandle
) : ViewModel(), UpdateFrontData {
...
@Inject
lateinit var setNumberUseCaseFactory : SetNumberUseCaseFactory
lateinit var setNumberUseCase : SetNumbersUseCase
...
init {
setNumberUseCase = setNumberUseCaseFactory.create(this, exercisedWithSetsDTO, setEntitiesList)
}
...
}
和 :
class SetNumbersUseCase @AssistedInject constructor(
private val trainingRepository: TrainingRepository,
@Assisted private val listener: UpdateFrontData,
@Assisted private var exercisedWithSetsDTO: MutableList<ExerciseWithSetNo>,
@Assisted private val setEntitiesList: MutableList<Exercise>
) {
...
}
我得到错误:kotlin.UninitializedPropertyAccessException:lateinit 属性 setNumberUseCaseFactory 尚未初始化
为什么不注入 SetNumberUseCaseFactory?