我试图将枚举数据类型绑定到变量,但它给了我以下错误:
不能引用成员推断上下文基--在调用初始化器时没有精确匹配
因此,我的问题是如何在Swift UI中声明一个枚举类型的绑定值?
我使用的是13.4.1版本的xcode (13F100)
我的密码是:
    enum BackLightStatus {
    case available
    case notAvalable
    case byDefault
}
import SwiftUI
struct KeyboardBackLightMainView: View {
    @State var isBackLightAvailable:BackLightStatus = .byDefault
    @State var backlightFlashing:Bool = false
    func fireTimer() {
        print("Timer fired!")
    }
    var body: some View {
        
        NavigationView {
            keyboardBackLightTestButton()
            KeyboardBackLightResultView(isKeyboardBackLightAvailable: $isBackLightAvailable)
        }
        .onDisappear(){
            backlightFlashing = false
            Backlight.sharedBacklight.stopFlashing()
            
        }
        
    }
    
    
}
struct KeyboardBackLightResultView: View {
    
    @Binding var isKeyboardBackLightAvailable : BackLightStatus = .byDefault // Error warning pops up here in xcode
    var body: some View {
        
        switch isKeyboardBackLightAvailable {
        case .available:
            Text("Keyboard BackLight is available and started to Flash. ")
                .padding()
                .font(.system(size: 16))
        case .notAvalable:
            Text("Keyboard BackLight is not available")
                .padding()
                .font(.system(size: 16))
                .foregroundColor(.red)
        case .byDefault:
            EmptyView()
        }
    }
}

发布于 2022-08-04 08:52:13
@Binding包装属性刚刚声明,w/o默认值,如下所示
struct KeyboardBackLightResultView: View {
    
    @Binding var isKeyboardBackLightAvailable : BackLightStatus  // << here !!
// ...https://stackoverflow.com/questions/73232896
复制相似问题