Context个
我有一个通用的SwiftUI View
,应该显示不同的元素取决于Generic Type
.但是,我在下面的实现中得到了以下错误:
在作用域中找不到"$EntityA"
Code个
class EntityA: Entity, NSManagedObject {
@NSManaged var name: String
}
class EntityB: Entity, NSManagedObject {
@NSManaged var isOn: Bool
}
struct RootView<E: Entity>: View {
@ObservedObject var entity: E
var body: some View {
switch entity {
case let entityA as EntityA:
TextField("Name", text: $entityA.name) // Error
case let entityB as EntityB:
Toggle("Enabled", isOn: $entityB.isOn) // Error
}
}
}
Question个
在我看来,当将特定的Entity
绑定到一个常量时,它会失go 它的@ObservedObject
修饰符,因此不能在TextField
或Toggle
中传递.
- 我怎么才能解决这个问题呢?