我想创建一个映射对象的方法。所以我有这样的方法:
func testDecode<T: Decodable>(from: DocumentSnapshot) -> T? {
do {
return try from.data(as: T.self)
} catch {
return nil
}
}
我是这样用的:
let test = testDecode(from: document.data) as? TestModel
但是我有一个错误:Generic parameter 'T' could not be inferred
不能理解为什么我有这个错误,请给我建议
您不应该尝试强制转换值,而是将test
注释为TestModel?
,以便编译器将T
推断为TestModel
。
let test: TestModel? = testDecode(from: document.data)