В моей библиотеке моделей есть класс данных
data class ExperiencesUiState(
val experiencesItems: Result = Result.success(emptyList()),
val userMessages: List = emptyList()
)
и я использую функцию копирования следующим образом в другом классе/модуле ExperiencesViewModel в моей библиотеке ViewModels, но получаю следующую ошибку:
Неразрешенная ссылка «копия».
для обоих операторов копирования uiState = uiState.copy....
class ExperiencesViewModel(
private val repository: ExperiencesRepository
) : ViewModel() {
// UI state is backed by a mutable state
var uiState = mutableStateOf(ExperiencesUiState())
private set
private var fetchJob: Job? = null
fun fetchExperiences() {
fetchJob?.cancel()
fetchJob = viewModelScope.launch {
try {
// Fetching experiences data
val experiences = repository.getAllExperiences()
uiState = uiState.copy(experiencesItems = Result.success(experiences))
} catch (ioe: IOException) {
// Explicitly specify the type for Result.failure
uiState = uiState.copy(
experiencesItems = Result.failure(ioe))
}
}
}
}
градация моделей просмотра
dependencies {
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.appcompat)
implementation(libs.material)
implementation(project(":repositories"))
implementation(project(":models"))
implementation(libs.androidx.lifecycle.viewmodel.android)
testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)
implementation(platform(libs.androidx.compose.bom))
androidTestImplementation(platform(libs.androidx.compose.bom))
implementation("androidx.compose.runtime:runtime:1.7.6")
implementation("androidx.compose.runtime:runtime-livedata:1.7.6")
implementation("androidx.compose.runtime:runtime-rxjava2:1.7.6")
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... data-class
Неразрешенная ссылка uiState = uiState.copy из класса данных ⇐ Android
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение