构建一个具有一些隐藏功能的基本天气应用程序。我正在尝试实现动态天气图标,但出现上述错误。我是 Swift 新手,说实话,我已经有一分钟没有完成任何编码了。
我在这一行收到错误
Image(systemName: \(icon))
struct WeatherView: View {
var weather: ResponseBody
var icon = ""
mutating func dIcon(){
if weather.weather[0].main == "Clouds" {
icon = "clouds"
} else {
icon = "sun.max"
}
}
var body: some View {
ZStack(alignment: .leading){
VStack{
VStack(alignment: .leading, spacing: 5){
Text(weather.name)
.bold().font(.title)
Text("Today, \(Date().formatted(.dateTime.month().day().hour().minute()))")
.fontWeight(.light)
}
.frame(maxWidth: .infinity, alignment: .leading)
Spacer()
VStack{
HStack{
VStack(spacing: 20){
Image(systemName: icon)
//Image(systemName: "cloud")
.font(.system(size: 40))
SwiftUI 结构中不能有变异函数。甚至不清楚你为什么想要这样。如果我设计这个视图,我会删除
dIcon()
并使 icon
成为计算属性,类似于
var icon: String {
if weather.weather[0].main == "Clouds" {
“clouds”
} else {
“sun.max”
}
}