'CalcButton' 类型的值没有成员 'rawValue'
Value of type 'CalcButton' has no member 'rawValue'
我有问题。
我是编程初学者,在 youtube 上搜索如何制作计算器并尝试自己动手。我做的和他做的完全一样,但我收到一条错误消息,无法弄清楚问题出在哪里,并且在整个论坛上搜索了帮助,但没有看到任何答案!我在我的 macbook 上使用 Xcode 并且正在使用 swift.
代码如下:
enum CalcButton {
case one
case two
case three
case four
case five
case six
case seven
case eight
case nine
case zero
case dividera
case multiplicera
case subtrahera
case addera
case likamed
case clear
case procent
case plusminus
}
struct ContentView: View {
let buttons: [[CalcButton]] = [
[.seven, .eight, .nine]
]
var body: some View {
ZStack {
Color.black.edgesIgnoringSafeArea(/*@START_MENU_TOKEN@*/.all/*@END_MENU_TOKEN@*/)
VStack {
// Text Display
HStack {
Spacer()
Text("0")
.bold()
.font(.system(size: 64))
.foregroundColor(.white)
// Knappar
ForEach(buttons, id: \.self) { row in
ForEach(row, id: \.self) { item in
Button(action: {
}, label: {
Text(item.rawValue)
})
}
}
}
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
}```
在您的代码中您正在调用 item.rawValue
,但您的枚举 CalcButtons 没有与之关联的原始值,因此枚举不存在此 属性。
您需要分配一个原始值并根据它的使用方式判断它应该是字符串,因此将您的枚举声明更改为
enum CalcButtons: String {
<same code as before>
}
您可以阅读有关枚举原始值的更多信息here,但简而言之,枚举中的每个 case
项目都会获得一个分配给它的字符串值,该字符串值与项目名称相同.
我有问题。 我是编程初学者,在 youtube 上搜索如何制作计算器并尝试自己动手。我做的和他做的完全一样,但我收到一条错误消息,无法弄清楚问题出在哪里,并且在整个论坛上搜索了帮助,但没有看到任何答案!我在我的 macbook 上使用 Xcode 并且正在使用 swift.
代码如下:
enum CalcButton {
case one
case two
case three
case four
case five
case six
case seven
case eight
case nine
case zero
case dividera
case multiplicera
case subtrahera
case addera
case likamed
case clear
case procent
case plusminus
}
struct ContentView: View {
let buttons: [[CalcButton]] = [
[.seven, .eight, .nine]
]
var body: some View {
ZStack {
Color.black.edgesIgnoringSafeArea(/*@START_MENU_TOKEN@*/.all/*@END_MENU_TOKEN@*/)
VStack {
// Text Display
HStack {
Spacer()
Text("0")
.bold()
.font(.system(size: 64))
.foregroundColor(.white)
// Knappar
ForEach(buttons, id: \.self) { row in
ForEach(row, id: \.self) { item in
Button(action: {
}, label: {
Text(item.rawValue)
})
}
}
}
}
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
}
}```
在您的代码中您正在调用 item.rawValue
,但您的枚举 CalcButtons 没有与之关联的原始值,因此枚举不存在此 属性。
您需要分配一个原始值并根据它的使用方式判断它应该是字符串,因此将您的枚举声明更改为
enum CalcButtons: String {
<same code as before>
}
您可以阅读有关枚举原始值的更多信息here,但简而言之,枚举中的每个 case
项目都会获得一个分配给它的字符串值,该字符串值与项目名称相同.