我如何知道在Swift中投射对象的方式?

我如何知道在Swift中投射对象的方式?,swift,Swift,我如何知道在投射对象时何时应该使用“x作为y”而不是“y(x)”?使用x作为y向下投射或向上投射(例如,分别从基类投射到子类,或从子类投射到基类) 使用(y)(x)完全转换为另一种类型(从float转换为double或类似的类型) y(x)正在调用构造函数,而不是强制转换。在swift中的强制转换是使用as和as完成的 x为y还是x为?y 执行y(x)不是强制转换您正在创建一个类型为y的新变量您能向我解释一下差异吗?我认为OP可能会在他的示例中询问y(x)中的Int(someDouble)之类的

我如何知道在投射对象时何时应该使用“x作为y”而不是“y(x)”?

使用x作为y向下投射或向上投射(例如,分别从基类投射到子类,或从子类投射到基类)

使用(y)(x)完全转换为另一种类型(从float转换为double或类似的类型)


y(x)正在调用构造函数,而不是强制转换。

在swift中的强制转换是使用as和as完成的

x为y还是x为?y


执行y(x)不是强制转换您正在创建一个类型为y的新变量

您能向我解释一下差异吗?我认为OP可能会在他的示例中询问
y(x)
中的
Int(someDouble)
之类的问题。这一切都很好。你赢了一些,你输了一些。从长远来看,我们的努力是有回报的。干杯,这是个好问题!也困扰了我一段时间,但最终我有了这个想法。