【发布时间】:2016-11-17 19:07:20
【问题描述】:
当偶然发现使用“as! or as?”进行转换时,我还注意到类型也可以使用括号内的所需类型进行转换,例如:
let x : Int = 42
var myString = String(x)
这让我好奇地问转换和铸造是否相同?但是,当我尝试在另一个示例中使用引用类型进行转换时,我认为编译器不允许这样做,或者至少它给了我一个错误,例如:
let sutCast = storyboard.instantiateViewController(withIdentifier: "ItemListViewController") as! ItemListViewController
let sutConvert = ItemListViewController(storyboard.instantiateViewController(withIdentifier: "ItemListViewController"))
是否可以肯定地说或假设在 Swift 中,引用类型不允许转换,并且强制转换与转换不同,因为它取决于对象是引用类型还是值类型?
【问题讨论】:
-
编译器给你的错误是什么?
-
变量“sutConvert”的错误显示是 Xcode 尝试修复它并且无法编译。 Xcode 尝试修复的错误是“Missing argument label 'coder:' in call”@AdamPro13
标签: swift casting type-conversion