首页 > 移动平台 > 详细

ios UITableView 的 UITableViewCell 的重用机制不对造成内容重复读取

时间:2014-12-17 02:18:05      阅读:387      评论:0      收藏:0      [点我收藏+]
NSString *reusedIdentifer = @"recipeDosageCell";
    UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:reusedIdentifer];
    
    if (cell == nil) {
        cell = [[UITableViewCell alloc ] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:reusedIdentifer];
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
    }

?1.定义一个重用的cell,如果在外面给他的内容复制,当重复刷新就会重复显示cell的内容,之所以会造成这种结果,是在reloadData的时候,会重新调用cellForRowAtTableView ,然后找可以重用的cell,如果找到了就会用那个重用的cell,并且再次给他的内容赋值,结果就会造成重复显示。

?

解决方法,首先cell初始化时定义他的subview, 然后在外层给他的subview进行赋值。

?

2.如果一个tableview 中有多种cell ,则需要定义多个cell,然后进行重用

ios UITableView 的 UITableViewCell 的重用机制不对造成内容重复读取

原文:http://blueskator.iteye.com/blog/2166843

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!