程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了'ContentView' 类型的值没有成员标志 Tapped' 并且包含声明的闭包不能与结果构建器 'ViewBuilder' 一起使用大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决'ContentView' 类型的值没有成员标志 Tapped' 并且包含声明的闭包不能与结果构建器 'ViewBuilder' 一起使用?

开发过程中遇到'ContentView' 类型的值没有成员标志 Tapped' 并且包含声明的闭包不能与结果构建器 'ViewBuilder' 一起使用的问题如何解决?下面主要结合日常开发的经验,给出你关于'ContentView' 类型的值没有成员标志 Tapped' 并且包含声明的闭包不能与结果构建器 'ViewBuilder' 一起使用的解决方法建议,希望对你解决'ContentView' 类型的值没有成员标志 Tapped' 并且包含声明的闭包不能与结果构建器 'ViewBuilder' 一起使用有所启发或帮助;

有人可以检查以下代码并至少使它的编译器错误为零。目前,它有两个编译器错误,即“'ContentVIEw' 类型的值没有成员标志 Tapped”和“包含声明的闭包不能与结果构建器 'viewbuilder”一起使用。

谢谢

import SwiftUI

struct ContentVIEw: VIEw {
    @State private var calculusians = ["Bernhard riemann","brook Taylor","Colin Maclaurin","GottfrIEd Wilhelm Leibniz","Guillaume de l'Hôpital","Isaac Newton","Johann Bernoulli","Joseph-Louis Lagrange","Leonhard Euler"].shuffled()
    @State private var correctAnswer = Int.random(in: 0...2)
    
    @State private var score = 0
    @State private var alertTitle = ""
    @State private var showingalert = false
    
    var body: some VIEw {
        NavigationVIEw {
            vstack  {
                ForEach(0..<3) { number in
                    Image(self.calculusians[number])
                        .border(color.black,wIDth: 1)
                        .onTapGesture {
                            self.flagTapped(number)
                            
                            
                        }
                }
                .navigationbarTitle(Text(calculusians[correctAnswer]))
                .actionSheet(isPresented: $showingalert) {
                    ActionSheet(Title: Text(alertTitle),message: Text("Your score is \(score)"),buttons: [.default(Text("Continue"))])
                }
            }
        }
        func flagTapped( tag: Int) {
            if tag == correctAnswer {
                // they were right!
                score += 1
                alertTitle = "Correct"
            } else {
                //they were wrong!
                score -= 1
                alertTitle = "Wrong"
            }
            
            showingalert = true
        }
        
        func askQuestion() {
            calculusians.shuffled()
            correctAnswer = Int.random(in: 0...2)
        }
    }
}

解决方法

将函数放在主体变量之外。

struct ContentView: View {
    @State private var calculusians = ["Bernhard Riemann","Brook Taylor","Colin Maclaurin","Gottfried Wilhelm Leibniz","Guillaume de l'Hôpital","Isaac Newton","Johann Bernoulli","Joseph-Louis Lagrange","Leonhard Euler"].shuffled()
    @State private var correctAnswer = Int.random(in: 0...2)
    
    @State private var score = 0
    @State private var alertTitle = ""
    @State private var showingAlert = false
    
    var body: some View {
        NavigationView {
            VStack  {
                ForEach(0..<3) { number in
                    Image(self.calculusians[number])
                        .border(Color.black,width: 1)
                        .onTapGesture {
                            self.flagTapped(tag: number)
                        }
                }
                .navigationBarTitle(Text(calculusians[correctAnswer]))
                .actionSheet(isPresented: $showingAlert) {
                    ActionSheet(title: Text(alertTitle),message: Text("Your score is \(score)"),buttons: [.default(Text("Continue"))])
                }
            }
        }
    }
    
    func flagTapped( tag: Int) {
        if tag == correctAnswer {
            // they were right!
            score += 1
            alertTitle = "Correct"
        } else {
            //they were wrong!
            score -= 1
            alertTitle = "Wrong"
        }
        
        showingAlert = true
    }
    
    func askQuestion() {
        calculusians.shuffled()
        correctAnswer = Int.random(in: 0...2)
    }
}

大佬总结

以上是大佬教程为你收集整理的'ContentView' 类型的值没有成员标志 Tapped' 并且包含声明的闭包不能与结果构建器 'ViewBuilder' 一起使用全部内容,希望文章能够帮你解决'ContentView' 类型的值没有成员标志 Tapped' 并且包含声明的闭包不能与结果构建器 'ViewBuilder' 一起使用所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: