Swift 协议+泛型:优雅的使用ReusableIdentifier

本文具体介绍 : 1.使用协议 2.使用结构体

由于苹果保准UITableView视图的性能,使用了cell重用机制,cell可以通过重用标识符(reusableIdentifier)进行复用,默认的注册cell和获取cell的方法中,需要传入一个字符串作重用标识符. 但这种方式很容易出错,而且使用起来也相当别扭 , 一种普遍的解决方式, 就是直接只用类名作为重用标识符

用类名作为重用标识符

缺点:
每次都要传入一个类,并且把它转成字符串.所幸,借助Swift泛型特性,我们可以有更加优雅的实现方式 .


使用协议

协议+泛型优化tableView cells的使用体验. 具体做法很简单:

  1. 声明一个协议,提供并默认实现一个 reuserIdentifier 静态属性
  2. 然后 : 提供一个注册和获取重用cell的方法 (方法放在UITableView的扩展里)
  3. 最后 : 自定义cell 只要遵守了Reusable 协议,就可以通过上面两个方法注册和复用cell了

步骤一:


默认的reuserIdentifier属性

步骤二:


注册和获取重用cell的方法
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,805评论 1 32
  • 1.ios高性能编程 (1).内层 最小的内层平均值和峰值(2).耗电量 高效的算法和数据结构(3).初始化时...
    欧辰_OSR阅读 29,866评论 8 265
  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,041评论 3 119
  • 上帝说 凡人渴望爱 才去出轨 上帝说 凡人贪恋财富 才会犯罪 上帝说 财富的奴隶 不是我的子民 偷情的野猫 也不是...
    花小姐的茶阅读 2,854评论 0 4
  • 理财是一个大伙儿都在说的话题:有人把它当信仰,俨然一副不断学习理财就会实现财务自由的模样;也有人对它嗤之以鼻,觉得...
    巧琳在路上阅读 5,757评论 0 17