我正在尝试根据变量强制转换类型。下面的例子没有说“使用未声明的类型,'myType'”
protocol Parent {}
protocol Child: Parent {}
struct Foo: Child {}
let foo: Parent = Foo()
let myType = Child.self
if let _ = foo as? myType {
print("success")
}
有没有办法根据变量myType
进行投射?
答案 0 :(得分:1)
反思,铸造不是这里要问的正确问题。在这里,我只是检查一致性。动态投射将毫无用处,因为如果基于变量类型进行投射,静态分析器无法知道如何处理它。