如何解决提供方法必须返回一个值非空
当我尝试使用Dagger 2时,会出现此错误,我应该怎么做,我在Dagger 2中处于新状态
e: /Users/stepanbezhuk/Documents/Work/Rebus/Movie/app/build/tmp/kapt3/stubs/debug/com/popularmovies/movies/Service/MessageWorking.java:11: error: @Provides methods must return a value (not void)
public final void messageConnected$app_debug(boolean networkStatus) {
模块1
@Module
open class MessageWorking @Inject constructor(private val context: Context) {
@Provides
internal fun messageConnected(networkStatus: Boolean) {
if (networkStatus) {
showMessage(message = "Connect")
} else {
showMessage(message = "Disconnect")
}
}
private fun showMessage(message: String) {
return Toast.makeText(context,message,Toast.LENGTH_SHORT).show()
}
}
接口
@Component(modules = arrayOf(MessageWorking::class))
@Singleton
interface DaggerComponent {
fun messageConnected(networkStatus: Boolean)
}
解决方法
struct ContentView1: View {
var body: some View {
NavigationLink(destination: DetailView()) {
Image("small").customSourceTarget()
}.navigationBarTitle("Navigation")
}
}
struct ContentView2: View {
var body: some View {
Image("large").customTransitionTarget()
}
}
NavigationView {
ContentView1()
}.customAnimatable()
注释意味着您必须提供一些东西。您在@Provides
中没有返回类型。
您正在Dagger(吐司)内做UI东西,这很奇怪,因为Dagger的职责是提供依赖关系。
以下是指向Dagger的简单介绍以及如何设置的链接: https://medium.com/@skshayne/understanding-dagger-as-a-beginner-8ffe29bad429
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。