dequeueReusableCellWithIdentifier 与 dequeueReusableCellWithIdentifier:forIndexPath 区别

参考:http://stackoverflow.com/questions/25826383/when-to-use-dequeuereusablecellwithidentifier-vs-dequeuereusablecellwithidentifi

  • 区别

对于dequeueReusableCellWithIdentifier:forIndexPath,如果没有为复用id注册一个class 或者nib的话,程序会崩溃(crash);

对于dequeueReusableCellWithIdentifier,如果没有复用id注册class或者nib,程序会返回nil。

  • 注册方式

registerClass:forCellReuseIdentifier:

registerNib:forCellReuseIdentifier

  • 为什么需要forIndexPath

因为在返回cell之前,会调用委托ableView:heightForRowAtIndexPath来确定cell尺寸(如果已经定义该函数)

时间: 2024-10-13 15:26:57

dequeueReusableCellWithIdentifier 与 dequeueReusableCellWithIdentifier:forIndexPath 区别的相关文章

[tableView dequeueReusableCellWithIdentifier:CellIdentifier] 后面forIndexPath:indexPath参数的解释

解决以下错误: *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', 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' http://m

When to use dequeueReusableCellWithIdentifier vs dequeueReusableCellWithIdentifier: forIndexPath

The most important difference is that the forIndexPath: version asserts (crashes) if you didn't register a class or nib for the identifier. The older (non-forIndexPath:) version returns nil in that case. You register a class for an identifier by send

swift中代理的使用

下面以自定义的UITableViewCell的代理为例,记录一下swift中代理的使用 controller中的代码如 1 // 2 // ViewController.swift 3 // simpleDemo 4 // 5 // Created by liubo on 16/7/25. 6 // Copyright © 2016年 liubo. All rights reserved. 7 // 8 9 import UIKit 10 11 class ViewController: UIV

简述UITableView的属性和用法

UITableView UITableView内置了两种样式:UITableViewStylePlain,UITableViewStyleGrouped   <UITableViewDataSource,UITableViewDelegate>里的方法: tableView处理步骤 1.有多少组 - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 2.第section组头部控件有多高 - (CGFloat)tabl

Swift 之Protocol在cocoa中的使用范例搜集(一)

protocol Reusable: class { static var reuseIndentifier: String {get} static var nib: UINib? {get} } extension Reusable { static var reuseIndentifier: String { return String(Self) } static var nib: UINib? { return nil } } extension UITableView { func

轻量化ViewControllers,读文章做的总结

推荐一个网站 http://objccn.io/ 我这两天才开始看 获益匪浅 看了第一篇文章 <更轻量的View Controllers>感觉写的不错 感觉作者 原文地址 http://objccn.io/issue-1-1/ 示例项目的代码有点旧 Xcode6运行出错 懒的理了 所以我大概模仿他写了一点测试代码 运行环境Xcode7/iOS9 轻量化ViewControllers 顾名思义 就是把ViewController的代码进行简化 让控制器更简单 更清晰 一.把DataSource和

黑马程序员——UITableView的详细用法

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- UITableView内置了两种样式:UITableViewStylePlain,UITableViewStyleGrouped <UITableViewDataSource,UITableViewDelegate>里的方法:

第二十七篇、使用MVVM布局页面

下面还是举个简单明了的例子好了!MVVM来了... 先Model @interface MyAssetsModel : NSObject @property (nonatomic,copy) NSString *typeStr;//现金余额,路费宝余额 @property (nonatomic,copy) NSString *detailStr;//现金明细,路费宝明细 @property (nonatomic,copy) NSString *money; @property (nonatomi

UITableViewCell重用的问题

UITableView中有两种重用Cell的方法: Ios代码   - (id)dequeueReusableCellWithIdentifier:(NSString *)identifier; - (id)dequeueReusableCellWithIdentifier:(NSString *)identifier forIndexPath:(NSIndexPath *)indexPath NS_AVAILABLE_IOS(6_0); 在iOS 6中dequeueReusableCellWi