Swiftui 错误消息:“函数声明了一个不透明的返回类型,但在它的主体中没有用于推断基础类型的返回语句”
我正在制作一个简单的琐事应用程序,你最终会从两个问题的答案中选择一个。到目前为止,我有一些变量和数组来保存关于什么是正确的,什么是错误的信息。我有一些错误我找不到任何帮助?我用的是SwiftUI,但我真的是新手 问题是我的VStack给了我这个消息,结果是“VStack”初始化器未使用 我的观点给了我一个错误:函数声明了一个不透明的返回类型,但在它的主体中没有可以推断基础类型的返回语句 这是我的密码:Swiftui 错误消息:“函数声明了一个不透明的返回类型,但在它的主体中没有用于推断基础类型的返回语句”,swiftui,Swiftui,我正在制作一个简单的琐事应用程序,你最终会从两个问题的答案中选择一个。到目前为止,我有一些变量和数组来保存关于什么是正确的,什么是错误的信息。我有一些错误我找不到任何帮助?我用的是SwiftUI,但我真的是新手 问题是我的VStack给了我这个消息,结果是“VStack”初始化器未使用 我的观点给了我一个错误:函数声明了一个不透明的返回类型,但在它的主体中没有可以推断基础类型的返回语句 这是我的密码: import SwiftUI struct ContentView: View {
import SwiftUI
struct ContentView: View {
@State var currentNum = 0
var person = ["Michael Jackson","Elton John","Prince"]
var dead = [1,0,1]
// 1 = yes 0 = no
@State var correct = true
var body: some View {
VStack{
Text(person[currentNum])
Button(action: {
}, label: {
Text("Dead")
})
}
func checkDead() {
if dead[currentNum] == 1{
return correct = true
}
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
谢谢-NM
var body: some View {
VStack{
Text(person[currentNum])
Button(action: {
}, label: {
Text("Dead")
})
}
// Problem Starts! :
func checkDead() {
if dead[currentNum] == 1{
return correct = true
}
}
// Problem Ends!
}
您正在变量体内声明函数,在变量体内声明函数checkDead
长话短说,别那么做!在类的作用域中声明函数,而不是在主体中声明函数:
struct ContentView: View {
@State var currentNum = 0
var person = ["Michael Jackson","Elton John","Prince"]
var dead = [1,0,1]
// 1 = yes 0 = no
@State var correct = true
var body: some View {
VStack{
Text(person[currentNum])
Button(action: {
}, label: {
Text("Dead")
})
}
// func checkDead() {
// if dead[currentNum] == 1{
// return correct = true
// }
//}
// move it to the struct's scope and outside the variable `body`
}
//here is where it should be
func checkDead() {
if dead[currentNum] == 1{
correct = true
}
}
}
return关键字是必需的,同时将嵌套函数提前移动 var body:一些观点{ func checkDead{ 如果失效[currentNum]==1{ 返回正确=true } } 返回VStack{ 把尸体移到外面去
你还试图在你的函数中返回一些东西。我不知道你想做什么,但它认为这只是额外的,你应该删除它
var body: some View {
VStack {
Text(person[currentNum])
Button(action: {
}, label: {
Text("Dead")
})
}
}
func checkDead() {
if dead[currentNum] == 1{
return correct = true
}
}