今天在学习IAP的时候无意间看到原来  tableView: cellForRowAtIndexPath:方法中有两个获得重用cell的方法,一直以来都是用
UITableViewCell  *cell  =  [tableView  dequeueReusableCellWithI dentifier:CellIdentifier];那下面的这个怎么用呢,感觉比较怪,假设没有重用的岂不是为空了
UITableViewCell  *cell  =  [tableView  dequeueReusableCellWithI dentifier:CellIdentifier  forIndexPath:indexPath]
具体有什么区别呢,并且当我用  UITableViewCell  *cell  =  [tableView  dequeueReusableCellWithI dentifier:CellIdentifier  forIndexPath:indexPath]的时候,为什么总报错
reason:  'unable  to  dequeue  a  cell  with  identifier  Cell  -  must  register  a  nib  or  a  class  for  the  identifier  or  connect  a  prototype  cell  in  a  storyboard',经过查阅,知道原来此方法为6.0新加的,在SDK5.0是运行不起来的。
如果需要使用这个方法,你必须使用配套的方法来一起用,下面两个配套方法选其一:
- (void)registerNib:(UINib *)nib forCellReuseIdentifier:(NSString *)identifier NS_AVAILABLE_IOS(5_0); 
- (void)registerClass:(Class)cellClass forCellReuseIdentifier:(NSString *)identifier NS_AVAILABLE_IOS(6_0);

3  比如你已经用NIB做了一个Cell,或者自定义了一个Cell。我们在你创建UITableView的时候,就可以顺带

self.tableView.backgroundColor = xxxx; 
[self.tableView registerClass:[CustomCell class] forCellReuseIdentifier:@"CustomCell"];

这样你在

-  (UITableViewCell  *)tableView:(UITableView  *)tableView  cellForRowAtIndexPath:(NSIndexPath  *)indexPath这个方法里,
你就可以省下这些代码:

    static NSString *CellIdentifier = @"Cell"; 
 UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell"];
 if (cell == nil) {         
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault 
reuseIdentifier:CellIdentifier];       
//设置你的cell 

而只需要

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];
//设置你的cell 
整体来说6.0却是比5.0更省劲

tableview的两个重用cell方法相关推荐

  1. UITableView 重用cell方法edequeueReusableCellWithIdentifier,出现错误

    UITableView 使用重用cell方法edequeueReusableCellWithIdentifier,出现错误: *** Terminating app due to uncaught e ...

  2. iOS学习——UITableViewCell两种重用方法的区别

    今天在开发过程中用到了UITableView,在对cell进行设置的时候,我发现对UITableViewCell的重用设置的方法有如下两种,刚开始我也不太清楚这两种之间有什么区别.直到我在使用方法二进 ...

  3. Java经典面试题:一个线程两次调用start()方法会出现什么情况?

    大家好,我是 Oracle首席工程师杨晓峰. 今天想和大家深入聊聊线程,相信大家对于线程这个概念都不陌生,它是Java并发的基础元素,理解.操纵.诊断线程是Java工程师的必修课,但是你真的掌握线程了 ...

  4. Hbase表两种数据备份方法-导入和导出示例

    Hbase表两种数据备份方法-导入和导出示例 本文将提供两种备份方法 -- 1) 基于Hbase提供的类对hbase中某张表进行备份 2) 基于Hbase snapshot数据快速备份方法 场合:由于 ...

  5. GET和POST两种基本请求方法的区别

    GET和POST两种基本请求方法的区别 回退 回退时无害 会再次提交请求 记录 URL可被记录, 用于再访问 不可以 缓存 主动缓存 可手动设置 编码方式 只进行url编码 多种编码方式 参数长度 有 ...

  6. 哈希查找解决地址冲突的两种最常见方法(线性探测再散列,链地址法)C++实现

    哈希查找解决地址冲突的两种最常见方法(线性探测再散列,链地址法)C++实现 参考文章: (1)哈希查找解决地址冲突的两种最常见方法(线性探测再散列,链地址法)C++实现 (2)https://www. ...

  7. jQuery使用blur()方法触发两次的解决方法

    jQuery使用blur()方法触发两次的解决方法 参考文章: (1)jQuery使用blur()方法触发两次的解决方法 (2)https://www.cnblogs.com/wgl1995/p/92 ...

  8. 用TableView写带特效的cell

    用TableView写带特效的cell 效果: 源码地址: https://github.com/YouXianMing/UI-Component-Collection 分析: 在UIScrollVi ...

  9. Java黑皮书课后题第7章:7.8(求数组的平均值)使用下面的方法头编写两个重载的方法,返回数组的平均数。编写一个测试程序,提示用户输入10个double型值,然后调用这个方法显示平均值

    7.8(求数组的平均值)使用下面的方法头编写两个重载的方法,返回数组的平均数.编写一个测试程序,提示用户输入10个double型值,然后调用这个方法显示平均值 题目 题目描述 破题 代码 运行实例 题 ...

最新文章

  1. sql列转行函数oracle,SQL列转行
  2. [中英对照]How PCI Works | PCI工作原理
  3. ABI 与 API 的区别(应用程序二进制接口、应用程序编程接口)
  4. 牛人iOS开发系列--音频播放、录音、视频播放、拍照、视频录制
  5. HTML页面提交TABLE
  6. mysql8用户管理
  7. 重新认识Docker Compose之Sidecar模式
  8. linux cpu intr s,mpstat命令(linux cpu监控工具)
  9. STM32 GPIO应用
  10. 什么是区块链――区块链的分布式数据库、共识机制
  11. js关于两个字符串的加减乘除运算
  12. 论文中的统计学如何计算机,统计学教学中如何利用Excel软件及其利弊分析论文...
  13. w10计算机管理员权限解除,win10系统取消管理员身份运行图标的详细步骤
  14. 简单的微信使用技巧,你需要掌握的技巧
  15. WARNING: Waited 15 secs for write IO to PST disk 4 in group 3 in alert_asm.log
  16. 叮咚~您的新年礼物到啦,请查收:虎来喽----Python打造虎年祝福神器
  17. Cyberspace_Security_Learning
  18. [软件工具][原创]pcl引用库一键配置到VisualStudio中支持vs2015-v2022使用教程
  19. 读书札记-曾国藩陈景润
  20. 局域网对战平台 linux,在Linux下可用Wine安装和运行完美对战平台、金山游侠2002体验版...

热门文章

  1. java 泛型 窜讲
  2. Spark Machine Learning 03 Spark上数据的获取、处理与准备
  3. EEPlat vs saleforce 配置 Knowledge Article 演示样例
  4. 我的2013年度总结
  5. TCP/IP、SOCKET、HTTP之间的联系与区别
  6. javascript图片懒加载与预加载的分析
  7. SQL SERVER数据库中的数据类型 转
  8. 【Android必备】与其他碎片进行通信(10)
  9. 项目开发中,我们总能遇到的那么些坑,不仅是代码上的,还有第三方接口的...
  10. Apache、Nginx、Tomcat、PHP的区别