大佬教程收集整理的这篇文章主要介绍了'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,请注明来意。