swift - 为什么它在 SwiftUI 中总是说“无法将类型''的值转换为预期的参数类型''”
问题描述
我在下面有一个简单的应用程序,在 SwiftUI 中,它会抛出一个错误,例如我使用的“无法转换类型的值” AppView(count: 5, total: 10)
,仍然相同,但我不太了解,我错过了哪一点,任何想法都会受到赞赏。
代码:
import SwiftUI
struct AppView: View {
var count: Int
var total: Int
var fontOne: Font
var colorOne: Color
var showBottomText: Bool
public init(count: Int,
total: Int,
progress: CGFloat,
fontOne: Font = Font.system(size: 75, weight: .bold, design: .rounded),
colorOne: Color = Color.primary,
fill: LinearGradient = LinearGradient(gradient: Gradient(colors: [Color.green, Color.blue]), startPoint: .top, endPoint: .bottom),
lineWidth: CGFloat = 25.0,
lineCap: CGLineCap = CGLineCap.round,
showText: Bool = true,
showBottomText: Bool = true) {
self.count = count
self.total = total
self.fontOne = fontOne
self.colorOne = colorOne
self.showBottomText = showBottomText
}
var body: some View {
ZStack{
if showText {
//Text at the centre
VStack {
Text("\(count)")
.font(fontOne)
.foregroundColor(colorOne)
if showBottomText{
Text("/ \(total)")
.font(fontOne)
.foregroundColor(colorOne)
}}}}} }
struct AppView_Previews: PreviewProvider {
static var previews: some View {
AppView(count: Int, total: Int, progress: CGFloat)
}
}
解决方案
问题是您实际上并没有在您的AppView
init 中传递任何值AppView_Previews
,您只是指定了输入参数类型。您需要传入具体的值。
struct AppView_Previews: PreviewProvider {
static var previews: some View {
AppView(count: 5, total: 10, progress: 0.5)
}
}
推荐阅读
- r - R根据分组计数结果将产品类型分配给用户
- javascript - 使用相同的 onClick 按钮将计数器递增到 2(范围 0-2),然后从 2 递减回 0
- sql - group by 子句或 partition 子句中的 case 语句
- kotlin - sourceSets with gradle kotlin DSL in Grade 4.10rc
- node.js - 异步和解析的问题
- c# - c#中udp中的线程中断
- c# - 如何从 UWP 获取 Windows 的用户友好版本名称,例如“Windows 10 Pro”
- apache-flink - 什么可能导致 Apache Flink 作业中的障碍对齐持续时间长?
- laravel - 在 laravel vue 中无法获得夏季笔记
- javascript - React 组件的 Material UI 主题不在 Shadow DOM 的本地范围内