swift TableView Cell Dequeue Trick

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift TableView Cell Dequeue Trick相关的知识,希望对你有一定的参考价值。

public protocol CellProtocol: class {
  static var identifier: String { get }
  static var nib: UINib { get }    
}

extension UITableViewCell: CellProtocol {
  // make sure the identifier is set to Class name
  public static var identifier: String {
    return String(describing: self)
  }
  public static var nib: UINib {
    return UINib(
      nibName: identifier, 
      bundle: Bundle(for: self)
    )
  }  
}

public extension UITableView {
  func register<T: CellProtocol>(cell: T.Type) {
    self.register(
      cell.nib, 
      forCellReuseIdentifier: cell.identifier
    )
  }
  func deque<T: CellProtocol>(cell: T.Type) -> T {
    return self.dequeueReusableCell(
      withIdentifier: cell.identifier
    )! as! T
  }
  func deque<T: CellProtocol>(cell: T.Type, for indexPath: IndexPath) -> T {
    return self.dequeueReusableCell(
        withIdentifier: cell.identifier, 
        for: indexPath
    ) as! T  
  }
}

以上是关于swift TableView Cell Dequeue Trick的主要内容,如果未能解决你的问题,请参考以下文章

Swift 4 TableView Cell 不显示正确的图像

swift 关于tableview

如何在 swift 4 中的 tableView Cell 中创建 collectionview? [复制]

从选定的 TableView Cell Swift Xcode 传递 var

TableView Cell里面的swift CollectionView

没有情节提要的 TableView Cell 的 iOS Swift Segue