Context
I have a Generic Swift Class containing a component Property of the Generic Type.
A few other Variables with different Data Types are passed through the Initializer, however, all of them are conforming to the Generic Protocol.
However, I get the following Compiler Error in Line 11:
'ComponentA' is not convertible to 'C'
Code
protocol Component { ... }
struct ComponentA: Component { ... }
struct ComponentB: Component { ... }
class Main<C: Component> {
var component: C
init(componentA: ComponentA, componentB: ComponentB) {
// I am trying to check, whether componentA equals the Generic Data Type and assign it to the component Property if true.
if case let safeComponent = componentA as C {
self.component = safeComponent
}
}
}
Question
How can I achieve my goal of checking whether a Data Type equals the Generic Data Type and assign it to the component Property if true?