向下滚动然后再向上滚动后,UITableView单元格消失

时间:2014-09-27 11:19:32

标签: ios objective-c uitableview

我有一个带有UITableView的UIViewController,里面有自定义单元格。 tableview最初正确创建单元格。当我向下滚动然后返回所有细胞消失。我的视图控制器是UITableviewDelegate和UITableViewDataSource Delegate。我正在实现所有必需的方法,即:cellForRowAtIndexPath,numberOfRowsInSection,willDisplayCell。我正在使用用于显示自定义tableview的标准代码。以下是我严格遵循的教程:https://medium.com/@musawiralishah/creating-custom-uitableviewcell-using-nib-xib-files-in-xcode-9bee5824e722

我的问题比技术更抽象:什么原因导致细胞在向上滚动时消失?  我知道它与单元重用有关,但是我使用willDisplayCell来正确设置内容,并且在滚动时索引路径会改变索引。\

感谢您的任何澄清,提示等。

1 个答案:

答案 0 :(得分:1)

当在方法 cellForRowAtIndexPath 中创建并添加单元格的属性时,会出现此类问题。在自定义类中创建属性,并在声明自定义类后访问它们。例如,您在 viewDidLoad

中有一个名为TableCell的自定义类
[yourTable registerNib:[UINib nibWithNibName:@"TableCell" bundle:nil] forCellReuseIdentifier:@"CELL"];
cellForRowAtIndexPath

中的

TableCell *cell = [tableView dequeueReusableCellWithIdentifier:@"CELL" forIndexPath:indexPath];
cell.property1 = attribute1;  //property1 already created in class TableCell