gpt4 book ai didi

SwiftUI里面的数学运算(部分查看)

转载 作者:行者123 更新时间:2023-12-04 10:15:23 25 4
gpt4 key购买 nike

我想问你一个关于在 View 中使用数学运算的问题。

struct MyMenu: View {
var cnt: Int = 0
let colors: [Color] = [.red, .green, .blue]

var body: some View {
ForEach(colors, id: \.self) { color in
Text(color.description)
.padding()
.background(color)

cnt += 1
}
}
}

它给了我一个错误:

Type '()' cannot conform to 'View'; only struct/enum/class types can conform to protocols



我不明白 SWIFTUI 语法有什么问题?为什么在 中不能使用简单的数学运算部分 View .

有什么解决办法吗?谢谢!

最佳答案

你的 body 内部不能有“常规”代码,因为 SwiftUI 期望你有声明性代码来生成 UI。

如果你想增加你的 cnt 属性,你需要在按钮 Action 中进行,例如,像这样:

Button(action: {
cnt += 1
}) {
Text("Click me to perform any action")
}

不要忘记您的 MyMenu 对象是一个结构体,这意味着默认情况下它是不可变的。如果未使用 @State 包装器或任何其他包装器包装,则您将无法更新您的 cnt 属性,具体取决于您的需要:)

希望这可以帮助! :)

关于SwiftUI里面的数学运算(部分查看),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61086170/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com