这行代码在做什么?

az2*_*902 0 ios swift

这是来自Github上的公共Eureka项目.我正在尝试理解源代码(和Swift泛型).我停留在这个片段的最后一行.最后一行在做什么?

open class Row<Cell: CellType>: RowOf<Cell.Value>, TypedRowType where Cell: BaseCell {

    /// Responsible for creating the cell for this row.
    public var cellProvider = CellProvider<Cell>()

    /// The type of the cell associated to this row.
    public let cellType: Cell.Type! = Cell.self //what is this line doing?
Run Code Online (Sandbox Code Playgroud)

Rob*_*ier 5

它将属性分配给此通用专用cellType的类型Cell.所以,如果这是一个Row<PersonCell>,cellTypePersonCell.

!几乎肯定是不必要的,并且可以在Swift 3中使用它来创建一些令人头疼的问题.