0

我有工厂

@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?

4

0 回答 0