我正在尝试将变量转换为保存在变量中或函数返回类型的不同类型。这是想法:
let i = 1 as type(of: 3.14)
但是当我这样做时,我遇到了一些错误:
- 使用未声明的类型“type”
- 一行中的连续语句必须用';'分隔(这会在
type
和(of: 3.14)
之间插入一个分号)
还有一个警告:
(of: Double)
类型的表达式未使用
如何将值转换为变量中保存的类型?
最佳答案
Swift(当前)需要在编译时分配类型。您可以像这样做一些事情,但是您需要为每个要使用的类型组合编写一个转换器,例如:
func convertType(from item: Int) -> Float {
return Float(item)
}
var item: Float = convertType(from: 1)
我会谨慎地走这条路,尝试并习惯 Swift 的做事方式。如果你绝对需要它,你应该能够使用一些通用函数和像 FloatConvertable
这样的协议(protocol)来更简单地处理这个问题。
关于swift - 转换为变量中保存的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45110296/