从Swift中的函数返回泛型类型



我有以下代码。当我尝试构建应用程序时,我得到以下错误:

Cannot convert return expression of type '[Post]' to return type '[T]'
struct Post: Codable {
let id: Int
let title: String
let body: String
}
class Loader {

func load<T: Codable>(name: String) -> [T] {
return [Post]()
}

}

有什么想法吗?

更新:

这个作品:

class PreviewData {

func load<T: Codable>(name: String) -> [T]? {
return [Post]() as? [T]
}

}

你基本上说我的load方法将返回一个名为T的泛型数组,但你试图返回Post模型的array,只需更改:

func load<T: Codable>(name: String) -> [T] {
return [T]()
}

最新更新