【发布时间】:2014-06-06 00:42:54
【问题描述】:
我有一个通用函数,它接受任何对象的值和一个类型为 T 的输入输出参数。我想通过将值向下转换为类型 T 来将输入输出参数设置为任何对象的值。
func genericFunction<T>(value:AnyObject, inout object:T) {
if let castedValue = value as? T {
object = castedValue
}
}
当我调用我的函数时,对象的值没有设置,因为向下转换失败。
var object:String = "oldValue"
var newValue:String = "newValue"
genericFunction(newValue, &object)
println(object) // prints oldValue
【问题讨论】: