2016-11-17 66 views
-1

当使用“作为或作为!?”,我也注意到,类型也可以转换使用括号内的所需的类型,如跨铸造绊脚石:是否像在swift中转换一样?

let x : Int = 42 
var myString = String(x) 

这使我好奇地问,如果转换和铸造是一样的?然而,当我试图做使用引用类型在另一个例子中转换,我不认为编译器允许这样或至少它给了我一个错误,如:

let sutCast = storyboard.instantiateViewController(withIdentifier: "ItemListViewController") as! ItemListViewController 
let sutConvert = ItemListViewController(storyboard.instantiateViewController(withIdentifier: "ItemListViewController")) 

是否安全,或者说假设在Swift中,转换不允许用于引用类型,并且转换与转换不同,因为它取决于对象是引用类型还是值类型?

+0

什么是编译器给你的错误? – AdamPro13

+0

错误显示变量“sutConvert”是Xcode试图修复它,并且不能编译。 Xcode试图解决的错误是“缺少参数标签”编码器:“在调用中”@ AdamPro13 –

回答

1

documentation

型铸造是检查一个实例的类型,或者治疗该实例为不同的超类或子类从别的地方在它自己的类层次结构的一种方式。

这是一个类型转换为另一种方式,但它也可以用于更多,如检查类型等

参考文档以获得更多信息。

相关问题