如何在Swift中将类类型(引用类型)转换为结构类型(值类型)?

时间:2017-08-02 10:39:14

标签: ios swift class struct nsstring

在Swift String中实现为struct,而在目标C NSString中实现为Class。由于struct是值类型,而类是引用类型。然后编译器如何使用强制转换将struct转换为Class

当我们在下面编写代码时,它会正常工作:

let swiftString : String = "Swift String"
print("Cast as NSString : \(swiftString as? NSString)")

这已成功将string投射到NSString

虽然Type Casting的规则建议您只能从同一个类层次结构中转换对象。

  

类型转换是一种检查实例类型或处理的方法   该实例作为某个地方的不同超类或子类   在其自己的类层次结构中。

当我尝试使用struct对象投射Class对象时,它会失败。

那么Apple使用什么机制让Swift将struct投射到Class

0 个答案:

没有答案