tableview的两个获得重用cell方法的区别?
来源:互联网 发布:医师 软件 编辑:程序博客网 时间:2024/05/22 08:29
tableView: cellForRowAtIndexPath:方法中有两个获得重用cell的方法
UITableViewCell*cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
和
UITableViewCell*cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath]
请问他们有什么区别?
并且当我用UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier: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'
------解决方案--------------------------------------------------------
-(id)dequeueReusableCellWithIdentifier:(NSString *)identifier;
-(id)dequeueReusableCellWithIdentifier:(NSString *)identifier forIndexPath:(NSIndexPath *)indexPath
NS_AVAILABLE_IOS(6_0); // newer
区别在这儿
------解决方案--------------------------------------------------------
1这个方法在SDK5.0是运行不起来的。
2如果需要使用这个方法,你必须使用配套的方法来一起用,下面两个配套方法:
注意看上面的注释
3比如你已经用NIB做了一个Cell,或者自定义了一个Cell。我们在你创建UITableView的时候,就可以顺带
这样你在-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath这个方法里,你就可以省下这些代码:
而只需要
UITableViewCell
和
UITableViewCell
请问他们有什么区别?
并且当我用
的时候
为什么总报错
reason:
------解决方案--------------------------------------------------------
-
-
区别在这儿
------解决方案--------------------------------------------------------
1
2
//Beginning in iOS 6, clients can register a nib or class for each cell.// If all reuse identifiers are registered, use the newer -dequeueReusableCellWithI dentifier:forIndexPath: to guarantee that a cell instance is returned.// Instances returned from the new dequeue method will also be properly sized when they are returned.- (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
self.tableView.backgroundColor= xxxx;[self.tableView registerClass:[CustomCell class] forCellReuseIdentifier:@"CustomCell"];
这样你在-
static NSString *CellIdentifier = @"Cell"; if (cell == nil) { cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefa ult reuseIdentifier:CellIdentifier]; //设置你的cell}
而只需要
UITableViewCell *cell = [tableView dequeueReusableCellWithI dentifier:@"Cell" forIndexPath:indexPath];
0 0
- tableview的两个获得重用cell方法的区别?
- tableview的两个获得重用cell方法的区别
- tableview的两个获得重用cell方法dequeueReusableCellWithIdentifier的区别
- tableview的两个获得重用cell方法的区别?
- tableView: cellForRowAtIndexPath:方法中两个获得重用cell的方法:
- tableview的两个取得重用cell方法的区别
- tableview的两个取得重用cell方法的区别
- tableview的两个重用cell方法
- tableview的两个重用cell方法 (转)
- tableview的两个重用cell方法
- ios中Tableview的两个获得重用cell方法的区别?(兼容iPhone5.0之前的版本)
- tableView方法中两个重用cell的方法
- iOS:tableView可重用cell的两个方法
- TableView的Cell的重用
- 你真的懂得tableview cell的两个重用方法嘛
- 一个tableView的Cell中有两个点击按钮及tableView的重用
- iOS tableView的cell的重用问题
- 解决TableView的Cell重用问题
- 精简 mysq
- 140_leetcode_Regular Expression Matching
- ANDROID 中设计模式的采用--创建型模式
- hibernate 错误 Batch update returned unexpected row count from update [0]; actual row count: 0;
- nexus S 刷4.4
- tableview的两个获得重用cell方法的区别?
- 写一个实现功能的程序---小型数据库
- 初识“栈”与“队列”
- matlab中 mcc/mbuild/mex 区别
- 《Linux》天影linux系列笔记一——linux常用命令详解:tar
- 通过控制switch来删除增加tabBar
- Build opencv libraries for android arm, x86 ubuntu
- PKU 3122
- keyBoard添加额外的按钮