gpt4 book ai didi

android - Koin 2 在 Android 项目中创建功能范围的问题

转载 作者:行者123 更新时间:2023-12-02 13:20:28 26 4
gpt4 key购买 nike

我尝试为功能创建范围。我定义了一个这样的模块。

val appModule = module {
scope(named("ARTIST_SCOPE")) {
scoped {
ArtistRepository(get())
}
scoped {
GetArtistsUseCase(get())
}
viewModel { ArtistViewModel(get()) }
}
}

我的目标是制作 ArtistRepository , GetArtistUseCase , 和 ArtistViewModel只能在内部访问 Artist Feature .

在我的 Activity 中

class ArtistActivity : AppCompatActivity() {

private val artistScope = getKoin().createScope("artistScope", named("ARTIST_SCOPE"))
private val viewModel: ArtistViewModel by artistScope.viewModel(this)
...
}

我的问题是当我离开此 Activity 并返回时。

我遇到了这个错误。

org.koin.core.error.ScopeAlreadyCreatedException: A scope with id 'artistScope' already exists. Reuse or close it.
enter code here

如何重用现有范围?或者我是否以正确的方式实现范围?

最佳答案

您想使用 getOrCreateScope() .如果您有一个未使用相同 scopeId 关闭的实例,这将获得一个现有实例,或者如果需要,它将创建一个新实例。

关于android - Koin 2 在 Android 项目中创建功能范围的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57720581/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com