【发布时间】:2024-01-24 11:36:01
【问题描述】:
我一直在编写一些 SUI 代码,但一直收到此错误:
Generic parameter 'C0' could not be inferred
这是它来自的 sn-p。我一直在网上无情地寻找,但找不到任何具体的东西。文件中的其他地方似乎没有任何语法错误,我已经多次尝试了经典的“断断续续”技巧。
import SwiftUI
struct ContentView: View {
var eliminationModel = EliminationModel()
@State private var code: String = "0000"
let roboto = UIFont(name: "Roboto Mono", size: UIFont.systemFontSize)
var body: some View {
ZStack() {
Image("background")
.resizable()
.edgesIgnoringSafeArea(/*@START_MENU_TOKEN@*/.all/*@END_MENU_TOKEN@*/)
VStack() {
HStack() {
VStack() {
Text("CODE:")
.font(Font.custom("Roboto Mono", size: 15))
.multilineTextAlignment(.center)
Text("6969")
.font(Font.custom("Roboto Mono", size: 10))
.padding(.top, 10.0)
Button(action: {
EliminationModel.printTest()
}) {
Text("Button")
}
}
.padding(.horizontal, CGFloat(50.0))
VStack() {
.textFieldStyle(RoundedBorderTextFieldStyle())
Text("INPUT: \(code)")
.font(Font.custom("Roboto Mono", size: CGFloat(20)))
}
}
.padding([.top, .leading, .trailing], 20.0)
Spacer()
HStack() {
VStack() {
Text("YOUR TARGET IS: ")
.font(Font.custom("Roboto Mono", size: 25))
.padding(.bottom, 11.0)
Text("JOHN APPLESEED")
.font(Font.custom("Roboto Mono", size: 40))
.fontWeight(.black)
.foregroundColor(Color.gray)
.multilineTextAlignment(.center)
Image("headshot")
.cornerRadius(10.0)
}
}//hs
Spacer()
HStack() {
VStack(alignment: .center) {
Text("GRADE: ")
.font(Font.custom("Roboto Mono", size: 15))
.multilineTextAlignment(.center)
Text("FACULTY")
.font(Font.custom("Roboto Mono", size: 20))
}
VStack(alignment: .center) {
Text("DORM: ")
.font(Font.custom("Roboto Mono", size: 15))
.multilineTextAlignment(.center)
Text("DAY")
.font(Font.custom("Roboto Mono", size: CGFloat(20)!))
}
} //hs
Spacer()
}
.frame(minWidth: CGFloat(0)!, maxWidth: .infinity, minHeight: CGFloat(0)!, maxHeight: .infinity, alignment: Alignment.topLeading)
} // zstack
} // body view
} // struct
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
这是eliminationModel 文件:
import Foundation
struct EliminationModel {
func printTest() {
print("hello world")
}
}
【问题讨论】:
-
SwiftUI 中的错误并不总是显示在它们真正的位置。请添加更多代码。例如:
eliminationModel是什么?你在body中还有其他内容吗? -
我已将错误范围缩小到其他地方 - 摆脱隐藏正文其余部分的注释代码已修复导致错误返回,这次说参数是“S”。此外,它还抱怨
.fonts 之一,说Cannot convert value of type 'Double' to expected argument type 'CGFloat?'。有任何想法吗?真的开始认为这整个 SwiftUI 事情不值得麻烦。无论如何,我都会用整个文件编辑主帖。 -
SwiftUI 是值得的,你只需要小心一点。 @Rob Napier 已经把你的例子分开了,我想我没有什么要补充的
-
我的建议是开始使用 git。您始终可以返回到工作版本,然后添加功能以查看错误来自何处。