我正在尝试创建Realm List的扩展名:
extension List {
var toArray: Array<Any> {
return Array(self)
}
}
写media.toArray
而不是Array(media)
。但在我的例子中,结果将是Any
,所以我需要做一个额外的演员。如何保持List泛型类型并编写一个扩展,它将转换为与List相同类型的数组?
答案 0 :(得分:1)
由于List
已经是通用集合,因此您只需在其Element
计算属性中使用其泛型类型Array
作为toArray
的泛型类型参数。
extension List {
var toArray: Array<Element> {
return Array(self)
}
}