Swiftui 错误消息:“函数声明了一个不透明的返回类型,但在它的主体中没有用于推断基础类型的返回语句”

Swiftui 错误消息:“函数声明了一个不透明的返回类型,但在它的主体中没有用于推断基础类型的返回语句”,swiftui,Swiftui,我正在制作一个简单的琐事应用程序,你最终会从两个问题的答案中选择一个。到目前为止,我有一些变量和数组来保存关于什么是正确的,什么是错误的信息。我有一些错误我找不到任何帮助?我用的是SwiftUI,但我真的是新手 问题是我的VStack给了我这个消息,结果是“VStack”初始化器未使用 我的观点给了我一个错误:函数声明了一个不透明的返回类型,但在它的主体中没有可以推断基础类型的返回语句 这是我的密码: import SwiftUI struct ContentView: View {

我正在制作一个简单的琐事应用程序,你最终会从两个问题的答案中选择一个。到目前为止,我有一些变量和数组来保存关于什么是正确的,什么是错误的信息。我有一些错误我找不到任何帮助?我用的是SwiftUI,但我真的是新手

问题是我的VStack给了我这个消息,结果是“VStack”初始化器未使用

我的观点给了我一个错误:函数声明了一个不透明的返回类型,但在它的主体中没有可以推断基础类型的返回语句

这是我的密码:

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
    }
}