code as below:
class Animall<T> {
var value: T?
}
protocol Type {
var name: String {get set}
}
class Duck: Type {
var name = "duck"
}
var d = Animall<Duck>()
var duck = Duck()
duck.name = "duck"
d.value = duck
if let finalD = d as? Animall<Type> {
print(finalD.value?.name)
}
else {
print("Can't Convert")
}
It's Always log "Can't Convert". I want know the reason. I'm so puzzled. Duck is conform Type protocol. Why doesn't it convert!