Advertisement
HXXXXJ

Dequeue cell for reuse

Mar 12th, 2019
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 0.85 KB | None | 0 0
  1. //存两个字典, 一个是identifier - cell
  2. //一个是 identifier - cell type
  3. var dic = [String: UITableViewCell.Type]() // identifier : cell
  4. dic["cell"] = UITableViewCell.self
  5. var cells = [String : [UITableViewCell]]()
  6. cells["cell"] = [UITableViewCell]()
  7.  
  8. extension UITableView{
  9.     func dequeueMyReusableCell(with Identifier: String) -> UITableViewCell{
  10.         if let list = cells[Identifier], list.count > 0 {
  11.             var l = list
  12.             let cell = l.removeFirst()
  13.             cell.prepareForReuse()
  14.             cells[Identifier] = l
  15.             return cell
  16.         }else{
  17.             if let type = dic[Identifier] {
  18.                 return type.init()
  19.             }else{
  20.                 return UITableViewCell()
  21.             }
  22.         }
  23.     }
  24. }
  25.  
  26. var tableView = UITableView()
  27. let cell = tableView.dequeueMyReusableCell(with: "cell")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement