一个swift subscript使用的问题

需求:
我想要下标来获取MLDataTable对象里面的一个column,他默认下标返回的是MLUntypedColumn,我需要的是MLDataColumn。他的subscript定义是这个样子的:

/// Subscript by column name. Returns an invalid UntypedColumn if the DataTable does not contain the name.
    public subscript(columnName: String) -> CreateML.MLUntypedColumn

    /// Subscript by column name. Returns an invalid DataColumn if the DataTable does not contain the name.
    public subscript<Element>(columnName: String) -> CreateML.MLDataColumn<Element> where Element : MLDataValueConvertible

    /// Subscript by column name and type. Returns nil if no column has the given name or if the
    /// named column does not have the given type.
    public subscript<T>(columnName: String, columnType: T.Type) -> CreateML.MLDataColumn<T>? where T : MLDataValueConvertible { get }

    /// Subscript by the list of column names. Returns a DataTable with the specified columns
    public subscript<S>(columnNames: S) -> CreateML.MLDataTable where S : Sequence, S.Element == String { get }

他默认subscript使用直接xxx["xxx"]这样就行了,但是我想使用public subscript<Element>(columnName: String) -> CreateML.MLDataColumn<Element> where Element : MLDataValueConvertible 重载我就不知道怎么写了。翻官方文档没找到,还是我太菜了。刚入手swift语法不太会,去几个swift群里面问也没有啥结果,所以来这个大佬聚集的地方问一下。

代码:

import CreateML
import Cocoa

let manager = FileManager.default

let csvFile = "train.csv"
let url = URL(fileURLWithPath: csvFile)
//maxRows
let option = MLDataTable.ParsingOptions(maxRows: 100000)
var dataTable = try MLDataTable(contentsOf: url, options: option)
let AppVersion = dataTable["IsBeta"]

我是想要获取一列,然后填充缺失值,MLDataColumn才有求平均值中位数相关的方法,但是默认下标引用返回的不是这个对象。

菜鸡在此谢谢大佬们