无法将“Binding<Double>”类型的值转换为预期的参数类型“Int”

时间:2021-05-09 03:24:42

标签: swift swiftui

我是 SwiftUI 的新手。 现在我需要在与列表页面绑定的编辑视图中使用@Binding var movie:Movie, 但是当我把它应用到下面的代码中时,错误就发生了。

android/app/debug/app-debug.apk

无法将“绑定”类型的值转换为预期的参数类型“Int”

那我该怎么办这个案子, 期待您的帮助。

顺便说一句,我怎么能像这样在“进度”中使用绑定类型, Text("Current Progress: \($movie.grenzen * 100, specifier: "%.0f") %") 它还报告 Err, 无法将“Int”类型的值转换为预期的参数类型“Binding”

我遇到了另一个问题,因为我使用的是 movie.grenze。当我按下“递增进度”按钮时,进度条不会改变。

ProgressView("Progress", value: $movie.grenzen, total: 1)

希望有任何进一步的支持,

1 个答案:

答案 0 :(得分:1)

绑定通常用于需要双向通信时,这意味着双方都需要能够修改值。在您列出的两种情况下,您实际上都不需要绑定。

例如,在您的第一种情况下,Text 不会编辑值 - 只是显示它。所以,不要使用 $:

Text("Current Progress: \(movie.grenzen * 100, specifier: "%.0f") %")

同样,在第二种情况下,ProgressView 也不带 Binding

ProgressView("Progress", value: movie.grenzen, total: 1)

这里假设 movie.grenzenFloatDouble